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 strict
mode 를 사용하면 문법적으로 실수 할 수 있는 부분을 에러로 판단받을 수 있음
4. …args
- 함수에 파라메터로 입력되는경우 : Rest parameter / 배열로 출력된다.
- 함수가 아닌 다른 곳에서 쓰이는 경우 : Spreand syntax / 요소가 펼쳐진다. 어딘가 담아서 사용해야 한다.