function foo() {}
와 var foo = function() {}
사이에서 foo
사용의 차이에 대해 설명하세요.function foo() {}
는 함수 선언
var foo = function() {}
은 함수 표현식
주요한 차이점은 함수 선언은 함수바디가 호이스트되지만, 함수 표현식의 바디는 호이스트되지 않습니다(변수와 동일한 호이스팅 동작을 가짐)
함수 표현식을 정의하기 전에 호출하려고 하면 Uncaught TypeError : XXX is not function
에러가 발생
foo(); // 'FOOOOO'
function foo() {
console.log('FOOOOO');
}
foo(); // Uncaught TypeError: foo는 함수가 아닙니다
var foo = function () {
console.log('FOOOOO');
};
let
, var
, const
를 사용하여 생성된 변수들의 차이점은 무엇인가요?함수 생성시 this의 값이 설정되고 그 이후에는 변경할 수 없다는 것
따라서, 생성자가 새로운 객체를 생성하는데 사용될 때, this는 항상 그 객체를 참조
고차 함수는 다른 함수를 매개 변수로 사용하거나, 결과로 함수를 반환하는 함수
고차 함수는 반복적으로 수행되는 어떤 연산을 추상화하기 위한 것
디스트럭처링(destructuring)은 객체나 배열에서 원하는 값을 추출하여 변수에 할당하는 방법
ES6 템플릿 리터럴(Template literals)은 문자열을 생성할 때 큰 유연성을 제공