Core JavaScript 강의를 기준으로 정리하는 자바스크립트 문법 공부!
(자세한 내용은 책과 강의를 참고하세욥🙌)
Primitive Type (기본형)
Number, String, Boolean, null, undefined
Reference Type (참조형)
Object (Array, Function RegExp)
기본형과 참조형을 구분하는 이유?
- 기본형 : 만들어진 데이터를 계속 재사용함 (똑같은 값은 오직 하나의 메모리만 차지)
- 참조형 : 데이터를 묶음으로 처리하기 위해 기존 Primitive 타입과 비교했을 때 데이터 저장을 위해 한 단계를 더 거쳐야 함
cf) 헷갈렸던 부분 (증감 연산 프로세스가 실행되면 기본형 데이터가 값이 변화하는지?)
1. 우선 값을 증가시킨 다음, 해당 값이 저장된 메모리가 있는지 여부를 먼저 찾음
2. 있다면 해당 메모리 주소를 참조
3. 없다면 새로운 값을 저장해서 그 메모리 주소를 참조
== 즉, 메모리에 한번 저장된 '기본형 데이터'는 사라지지 않는 한 영원히 변하지 않음
함수를 실행할 때 필요한 환경정보(를 담은 객체)
코드 흐름상의 배경이 되는 조건 / 환경
동일한 조건 / 환경을 지니는 코드 뭉치를 실행할 때 필요한 조건, 환경 정보
cf) Context의 사전적 의미
맥락, 문맥 (특정 건축물에 관계하는 역사적,문화적, 지리적인 배경이 되는 조건!)
var a = 1;
function outer() {
console.log(a); // 1
function inner() {
console.log(a); // 2
var a = 3;
}
inner();
console.log(a); // 3
}
outer();
console.log(a); // 4
현재 어떤 함수가 동작하고 있는지, 다음에 어떤 함수가 호출되어야 하는지 등을 제어하는 자료 구조