클로저(closure)란?
외부함수의 실행이 종료되어도, 외부함수의 스코프에 접근할 수 있는 내부함수
내부함수는 외부함수의 지역변수에 접근 할 수 있는데 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. 이러한 메커니즘을 클로저라고 한다.
arguments
vs. ...args
둘의 차이를 기억하자!
Function.apply(this, arguments)
call과 apply
this
this에 null 또는 undefined 를 넣는 이유
||
연산자를 이용한 단락 평가(short circuit evaluation)OR 연산자 ||
로 단락 평가(short circuit evaluation)를 할 수 있다.
OR||
은 왼쪽부터 시작해서 오른쪽으로 평가를 진행하는데, truthy
를 만나면 나머지 값들은 건드리지 않은 채 평가를 멈춘다. 이런 프로세스를 단락 평가라고 합니다.
단락 평가의 동작 방식은 두 번째 피연산자가 변수 할당과 같은 부수적인 효과(side effect)를 가지는 표현식 일 때 명확히 볼 수 있다.
단락 평가는 연산자 왼쪽 조건이 falsy
일 때만 명령어를 실행하고자 할 때 자주 쓰인다.
_.sortBy
문제 확인하기_ = {};// 이걸 맨위에 써주자
/*그 아래에 underbar로 구현한 함수를 넣어주고 사용하면 된다.*/