7일차 TIL 210310

1. 객체 코플릿 문제 풀다가 알게 된 것

  • 줄바꿈 연산자 '\n' 는 반드시 string 형식으로 작성해야 한다.
  • not 연산자 쓸때는 부정할 것을 반드시 소괄호 안에 넣어줘야 한다. ex) if(!(Array.isArray(obj[key])))`
  • 객체의 key 값만 가져오는 메소드 Object.keys(객체명)) 객체의 key 값만 배열로 출력한다.

2. 참조 자료형 / 원시 자료형

  • 원시 자료형 (Primitive data types) : 자바스크립트에서 원시 타입의 데이터는 객체가 아니면서 method 를 가지지 않는 6가지의 타입; string, number,bigint,boolean,undefined, symbol, (null)

  • 참조 자료형(Reference data type) : 특별한 데이터 보관함을 찾아갈 수 있는 주소가 담긴다.

    • 효율성을 위해 동적으로 크기가 변하는 특별한 데이터 저장소가 필요하다.
    • 특별한 보관함 : heap
    • 배열, 객체,함수 가 대표적이다.

3. 자바스크립트 Closure

  • Closure : “함수와 함수가 선언된 어휘적(lexical) 환경의 조합을 말한다”
  • 이 환경은 클로저가 생성된 시점의 유효 범위 내에 있는 모든 지역 변수로 구성된다.
  • 외부 함수의 변수에 접근할 수 있는 내부 함수를 클로져 함수라고 부른다.
  • Window = 전역 범위를 대표하는 객체. global scope 에서 선언된 함수 그리고 var 키워드로 선언된 변수는 window 객체와 연결
  • 👉🏻선언 없이 변호를 할당하는 경우 전역 범위로 변수가 할당되므로 주의할것 !
  • vs code 에서 use strictmode 를 사용하면 문법적으로 실수 할 수 있는 부분을 에러로 판단받을 수 있음

4. …args

  • 함수에 파라메터로 입력되는경우 : Rest parameter / 배열로 출력된다.
  • 함수가 아닌 다른 곳에서 쓰이는 경우 : Spreand syntax / 요소가 펼쳐진다. 어딘가 담아서 사용해야 한다.

Updated: