1. 조건문
특정 조건에 따라 코드를 실행하거나, 실행하지 않을 때 사용하는 구문
if( 조건) {
실행될 코드}
서로 다른 코드를 실행해야 할 때 if / else if
switch case
1. let 변수 = ' '
2. switch(특정변수, 조건식 ) {
3. case = 일치하는 것을 찾음
break ;
4. 실행될 코드를 작성
default;
}
- break 작성하지 않으면 이 모든 케이스들이 모두 실행됨 (무한반복 방지)
- case와 일치하지 않을 경우 default에 값을 보여줌 ( 가장 아래에 작성해야 함)
2. 함수
- 동일한 기능을 하는 코드를 묶어 하나의 명령으로 처리할 수 있게 도와주는 문법
- 깔끔하고 가독성 좋은 코드를 만들 수 있음
- return 문을 사용했을 때
Early return pattern
compare = 함수를 비교하는 함수
3. 스코프 Scope
- 변수 또는 함수는 모두 유효범위가 있다
- 유효범위란 변수와 함수가 영향을 미치는 범위로 영어로는 스코프라고 부름
전역 = 어디서든지 접근할 수 있음 ( 전역변수, 외부변수 )
지역스코프 =
- 블록스코프와
- 함수 스코프로도 나눌 수 있음
※ let 키워드와 var라는 키워드의 차이점은 let 키워드로 선언된 변수는 blook스코를 갖고
- var 키워드로 선언된 변수는 함수 스코프를 갖는다
- var 이미 선언되어 있는지 판단하기 어려울 뿐만 아니라 어디에서 어떻게 사용되고 있는지를 파악하기 힘듦
4. 호이스팅
자바스크립트에서 변수와 함수의 선언문이 해당 범위의 가장 위쪽으로 끌어올려지는 듯한 현상으로
종류로는 함수 호이스팅과 변수 호이스팅이 있음
-> 이는 num1 변수가 초기화되기 전에 num1변수에 접근할 수 없다는 에러임.
let과 const변수는 변수 스코프의 가장 위쪽에서 변수의 초기화가 완료될 때까지 TDG라는 공간에 있기 때문
Temporal Dead Zone = 일시적인 사각지대, 변수를 사용하는 것을 허용하지 않음
즉 VAR 키워드는 변수를 생성한 다음 바로 메모리 공간에 변수를 메모리 공간에 할당해 주지만
let과 const 키워드는 변수가 초기화될 때까지 메모리 공간이 확보되지 않음
그러므로 let과 const 키워드로 생성된 변수는 사용할 수 없는 공간인 Temporal Dead Zone에 들어가게
※ 호이스팅은 자바스크립트의 기본 성질이지만 많이 발생하면 가독성이 좋지 않고 해석하기 어려움
= > 변수와 함수의 선언문 이후에 변수와 함수에 접근하는 코드를 작성하는 게 좋음
5. 함수 표현식과 화살표 함수
함수 표현식 1 = 변수에 함수를 마치 하나의 값처럼 할당하는 방법
함수표현식 2 = 화살표 함수를 사용하지 않고도 function 키워드를 사용해 이름을 작성하지 않는 익명함수의 형태로
함수를 생성하고 이를 특정 변수에 할당하는 방식도 함수 표현식임
함수 선언식
function 키워드 옆에 함수의 이름작성
- 함수 선언식과 함수 표현식의 차이점
콜백함수 = 다른 함수의 매개변수로 넘겨준 함수
'자바스크립트.기초' 카테고리의 다른 글
06.자바스크립트[배열과 객체의 구조분해 할당,spread 와 rest ] (1) | 2024.11.20 |
---|---|
05. 자바스크립트[자바스크립트 배열 내장 함수 -1,2] (1) | 2024.11.20 |
04. 자바스크립트[생성자 함수,반복문,객체를 배열로 변경하는 방법] (1) | 2024.11.18 |
03. 자바스크립트 [객체,배열] (0) | 2024.11.18 |
01.자바스크립트[변수,상수,자료형,형 변환,연산자] (0) | 2024.11.16 |