티스토리 뷰
조건문
특정 조건에서만 코드를 실행하고 싶을 때 if 조건문을 사용한다.
조건문이 true일 때만 실행되며, false일 때 실행할 작업을 따로 작성하고 싶으면 else if 또는 else 구문을 이용한다.
if(조건문1) {
// 조건문1이 true일 때 실행할 코드
} else if(조건문2) {
// 조건문1이 false이고 조건문2가 true일 때 실행할 코드
} else {
// 조건문1, 조건문2가 모두 false일 때 실행할 코드
}
삼항조건연산자
조건 ? true일 때 실행할 코드 : false일 때 실행할 코드
if-else문을 위와 같이 삼항조건연산자를 이용해서 작성할 수 있다. 삼항조건연산자끼리 중첩도 가능하다. 한번에 작성할 수 있어서 편하고 가독성도 좋지만 코드가 간단할 때만 이용하고, 복잡해지면 if-else문을 쓰는 것이 좋다.
반복문
반복적인 일을 수행할 때, 일일이 긴 코드를 작성하지 않고 하나의 로직을 만든 다음, 그것을 반복하도록 할 수 있다. 반복문에는 for문과 while문이 있다.
for문
for(초기값; 조건문; 증감식) {
// 실행할 코드
}
while문
while(조건문) {
// 실행할 코드
}
do {
// 실행할 코드
} while(조건문)
초기값, 조건문, 증감식이 모두 필요한 for문과 달리 while문은 조건문만 필요로 한다. 조건문이 true라면 프로그램이 영원히 끝나지 않는 무한루프를 조심해야 한다. while문을 빠져나올 수 있도록 false로 평가되는 순간이 꼭 있어야 한다.
조금 다르게 do...while은 조건없이 우선 처음 한 번을 실행하고 나서 그 다음에 또 실행할 것인지 조건을 평가한다.
for문과 while문의 사용은 명확하게 구분되진 않지만 대체적으로 상황에 맞게 사용하면 된다.
- for문
반복 횟수가 비교적 명확할 때
문자나 배열을 순회할 때
반복문의 중첩이 필요할 때 - while문
반복 횟수가 명확하지 않을 때
함수
함수는 입력으 받아서 내부의 코드를 실행하고 결과를 반환하는 일련의 과정의 묶음이다. 함수를 사용하는 방법은 다음과 같다.
- 함수를 정의한다.
- 함수를 호출한다.
함수 정의하기
함수를 정의하는 가장 대표적인 방법은 함수선언문과 함수표현식이다.
함수 호출하기
함수를 정의만 하면 사용할 수 없다. 함수 내부의 코드를 실행하기 위해서는 실행되길 원하는 위치에서 함수를 호출해야 한다. 호출하는 방법은 greeting()과 같이 함수명()이다. 함수표현식의 경우는 함수를 할당한 변수명()이다.
매개변수와 전달인자
functioin greeting(name) {
console.log("hello", name);
}
greeting("민수"); //--> hello 민수
위 예시에서 name이 매개변수이고 함수를 호출할 때 전달하는 값인 "민수"가 전달인자이다. 매개변수는 여러 개를 지정해줄 수 있고, 매개변수의 수만큼 필요한 전달인자가 전달되지 않으면 undefined값으로 초기화된다.
매개변수와 함수 내부에서 선언된 변수는 자신이 선언된 위치에 따라 유효범위가 결정된다. 이 범위를 스코프라고 한다. 스코프는 추후 학습하여 정리하도록 하자.
반환(return)
함수의 결과를 외부로 내보낼 수도 있다. 그동안의 예제처럼 함수에서 console.log()만 실행하면 그 함수를 호출했을 때 콘솔창에 메세지를 띄우고 끝이겠지만, 앞으로 함수는 더 복잡한 기능들을 수행할 것이다. 어떤 함수는 greeting()처럼 내부적으로 실행하고 끝나는 역할일 것이고, 어떤 함수는 내부적으로 실행한 뒤 그 결과값을 다른 곳에서 사용할 수 있도록 외부로 내보낼 것이다. 이 때 return 어떤값;을 사용하면 이 함수를 호출한 함수에게 값을 반환할 수 있다.
회고
드디어 자바스크립트의 함수가 나왔다. 스코프라는 단어도 등장했다. 첫 주가 그리워질 것이라고들 하던데 시작인가. 자 이제 시작이야 내꿈은~!
오늘 그동안 밀린 공부(주말에 했어야 할 CSS 공부..)를 마무리짓고 포스팅도 다듬어야겠다.
오늘은 세션이 없는 날이었다. 국민취업지원제도 상담이 있어서 외출을 다녀왔지만 나머지 시간들을 혼자 하려니 다같이 하는 것보다 집중이 잘 안됐다. 동기부여 세션에서 배운 것처럼 다른 사람들과 함께 한다는 느낌이 참 중요한 것 같다.
이전 블로그(velog.io/@hahagarden)에서 이전해온 글입니다.
'개발 > JS, TS, React' 카테고리의 다른 글
JS Number, parseInt, parseFloat 비교 (0) | 2023.03.07 |
---|---|
JS 반복문 예제 수도코드 작성 연습 (0) | 2023.03.06 |
JS 배열의 생성, 내장메서드, 복사 (0) | 2023.03.06 |
JavaScript란, 타입과 변수 (0) | 2023.03.06 |
JS 클로저, 클로저의 활용 사례 (0) | 2023.03.05 |
- Total
- Today
- Yesterday
- 이수 맛집
- 태릉맛집
- 춘천맛집
- 공릉맛집
- sitemap
- 롯데월드 매직패스 프리미엄
- 공릉 밀크티
- 티스토리
- 구글서치콘솔
- 깃허브 데스크탑 로그아웃
- 태릉삼겹살
- 맥 깃허브 데스크탑
- 홍천 삼겹살
- 공릉 이자카야
- 태릉 이자카야
- 롯데월드 보조배터리
- solo project
- 공릉 술집
- 공릉 맛집
- 을지로맛집
- 신불당 술집
- 춘천닭갈비
- 티스토리검색
- 태릉 술집
- 태릉 꼬치
- 회고
- Til
- 공릉 카페
- 롯데월드 키오스크
- 공릉 꼬치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |