[JavaScript] 복습 1
[JavaScript] 복습 1
JavaScript 기본
변수 선언 키워드
var: 변수 재선언 가능, 따라서 사용하지 않는 키워드let: 변수 재할당 가능const: 변수 재할당 불가
자료형
기본 자료형
string: ‘’ or “” or ``으로 감싸진 문자number: 일반적인 숫자boolean: true / falseundefined: 변수가 선언되었지만,
초기화되지 않았을 때 자동으로 할당되는 값null: 의도적으로 “값이 없음”을 나타내는 값symbol: 고유하고 변경 불가능한 값 (ES6부터 도입)bigint: 엄청 큰 정수 (최신의 자료형!) (ES11 / ES2020부터 도입)
숫자 뒤에n을 붙여 사용
참조 자료형
- 배열: [ ]
- 함수: function
- 객체: { }
연산자
- 산술 연산자
+,-,*,/,% - 증감 연산자
++,-- - 대입 연산자
=,+=,-=, … - 비교 연산자
==,<=,>=, … - 삼항 연산자
? : - 논리 연산자
!,&&,||
반복문
do...while, while, for, for...in, for...of
함수
함수 선언문
1
function sum() {...}
함수 표현식
1
const sum = function sum() {...}
화살표 함수 (≠ 함수 표현식)
1
const sum = () => {...}
JavaScript 실행 개념
- 인터프리터언어: 첫줄부터 마지막줄까지 순차적으로 실행
실행 컨텍스트
- 자바스크립트 코드가 실행되는 독립적인 공간
이 실행 컨텍스트를 호출 스택에 집어 넣음
- RECORD: 선언부분(식별자)을 기록함.
>현재 범위의 식별자와 해당 값을 관리
→ (var로 선언된 식별자는 선언시,undefined의 값으로 초기화됨) - OUTER: 상위 스코프의 참조
아래에 쌓여있는 실행 컨텍스트(상위 스코프)의 연결통로
선언된 값을 외부에서 찾을 때 사용
- RECORD: 선언부분(식별자)을 기록함.
- 전역 실행 컨텍스트
- 고유한 하나로 실행됨
- 함수 실행 컨텍스트
- 함수가 실행될 때 마다 생김
예시) 2개의 함수 실행
예시) 2개의 함수 실행 (다른 함수의 호출을 안에 넣음)
호이스팅
선언부분을 최상단으로 끌어올려진 것 같은 현상
var로 선언된 식별자는 선언시, undefined의 값으로 초기화됨
function로 선언된 식별자는 선언시, 함수 값으로 초기화됨
let, const로 선언된 식별자는 선언시, 참조 에러 발생!
TDZ 일시적 사각지대
TDZ(Temporal Dead Zone)
- 스코프 시작~초기화 직전까지의 구간을 TDZ라 일컫는다.
let과 같은 식별자는 선언과 초기화가 분리되어 진행되어,
초기화는 코드 실행 후에 이뤄져서 발생하므로,
초기화 이전에 호출 시, 참조 에러가 생긴다.- 따라서, TDZ에 빠지게된다고 한다.
클로저
This post is licensed under CC BY 4.0 by the author.