기타
[TIL][이전블로그글]20201215
ihl
2020. 12. 17. 12:39
오늘 배운 것)
- Primitive value vs Reference value
- Primitive value: number, string, boolean, undefined, symbol, bigint, null(엄밀히 말하면 primitive가 아님)
- 고정된 크기의 값을 갖는다.
- 값 자체에 대한 변경은 불가능 하지만 변수에 다른 데이터를 할당할 수 있다.
- Refefence value: array, object, function
- 주소 값이 저장된다.
- 주소 값으로 참조하여 값을 가져온다.
- 실제 데이터 값은 Heap 영역에 할당되며 이 영역에서 새로운 값이 추가되거나 제거된다.(크기가 동적으로 변한다)
- Primitive value: number, string, boolean, undefined, symbol, bigint, null(엄밀히 말하면 primitive가 아님)
- Scope: 변수가 유효한/접근 가능한 범위
-
- var: Function Scope/값 재정의 가능/재선언 가능
- let: Block Scope/값 재정의 가능/재선언 불가능
- const: BlockScope/값 재정의 불가능/재선언 불가능
ex. FunctionScope/BlockScopevar, let, const의 차이점
-
for(var i = 0; i < 3; i++){}
for(let j = 0; j < 3; j++){}
i = 10 //var i 접근 가능
j = 10 //Error! let j접근 불가능
- Closure: 외부함수의 요소에 접근 가능한 내부함수
- 함수를 객체로 취급하는 함수형 프로그래밍 언어들이 갖고있는 주요 특징
- window 객체와 전역변수
- 전역으로 선언된 function과 var로 선언된 변수는 window 객체의 속성으로 접근할 수 있다.