프로그래밍 공부하기

[TIL][이전블로그글]20201215 본문

기타

[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 영역에 할당되며 이 영역에서 새로운 값이 추가되거나 제거된다.(크기가 동적으로 변한다)
  • 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 객체의 속성으로 접근할 수 있다.
Comments