1. Call stack
자바스크립트 실행해야하는 함수는 스택위에 올라간다
그리고 함수를 스택위에 다 올리고 함수를 다 살행하면 제거
* 스택이란?
스택은 후입선출(LIFO- Last In First Out) 구조로
말 그대로 가장 마지막에 쌓인 놈이 가장 먼저 나가는 구조이다
function three(){
console.log("JavaScript");
}
function two(){
three();
}
function one(){
two();
}
function zero(){
one();
throw Error("Error Message!!!!");
}
zero();
위의 스크립트를 실행해보면
첫번째 zero함수를 호출하여
zero가 스택에 쌓인다
그후 zero에서 one함수를 호출하여
스택에 one이 쌓인다
two가 호출되고
스택에 two가 쌓인다
three가 호출되고
스택에 three가 쌓인다
그리고 가장 늦게 쌓인 three부터 실행된다
그후 two 실행
one 실행
그리고 가장 먼저 쌓인 zero 실행
이때 zero에 있는 error가 발생 한다
2. Primitive Types
Primitive 뜻 : 원시적인, 기초적인
자바스크립트엔 가장 기본적인 데이터 타입인
boolean
null
undefined
number
string
그리고 ECMA 6 에서 추가된 symbol이 있다
여기서 null과 undefined에는 굉장히 큰 차이가 있다
undefined은 정의 되지 않았음
null은 정의는 되었지만 값이 존재 하지 않음
NaN(Not a Number)은 연산에 들어간 값이 숫자가 아닐 경우에 주로 출력된다
웃긴 비유를 보았는데
이해를 돕기 위해
undefined = 미필
null = 면제
'JavaScript' 카테고리의 다른 글
JS - 구조 분해 할당 (0) | 2021.10.18 |
---|---|
JS - var vs let vs Const (0) | 2021.10.18 |
JS - 함수 (0) | 2021.10.07 |
자바스크립트 - 데이터 타입,연산자 (0) | 2020.06.08 |
JSON (JavaScript Object Notation) (0) | 2020.05.19 |