es6
[자바스크립트] 스프레드 문법
스프레드 문법 ES6 에서 스프레드 문법이 도입되었습니다. 스프레드 문법은 뭉쳐 있는 여러 값을 펼쳐서(spread) 개별적인 값의 목록을 만들어 냅니다. 주의 할 점은 스프레드 문법은 for...of 문으로 순회 가능한 이터러블에 한정됩니다. 또한 스프레드는 개별적인 값을 만드는 것이 아닌 값들의 목록을 만드는 것이기 때문에 이를 값을 생성하는 연산자로 생각하면 안 됩니다. 즉, 스프레드 문법의 결과를 변수에 할당이 불가능합니다. (변수에는 값만 할당이 가능합니다.) // ...[1, 2, 3]은 [1, 2, 3]을 개별 요소로 분리한다(→ 1, 2, 3) console.log(...[1, 2, 3]); // 1 2 3 // 이터러블이 아닌 일반 객체는 스프레드 문법의 대상이 될 수 없다. consol..
[자바스크립트] ES6 의 함수
ES6의 함수 ES6 이전까지의 자바스크립트 함수는 다양한 목적으로 사용되었습니다. 일반 함수 호출, new 연산자와 생성자 함수로서 호출, 객체에 바인딩되어 메서드로의 호출이 가능했습니다. 이는 유연하다는 장점이 되는것처럼 보이지만 실수를 유발시킬 수 있고 성능 면에서도 손해인 경우가 많습니다. ES6 이전의 함수는 일반 함수로 호출되는 것들이 생성자 함수로도 호출이 가능합니다. 이는 callable 하면서도 constructor 인 함수의 특징 때문인데, 생성자 함수만이 가져야 할 prototype 프로퍼티를 일반 함수들도 가지고 있다는 점에서 문제가 생깁니다. 이는 불필요한 프로토타입 객체를 생성하기 때문입니다. 이처럼 ES6 이전의 모든 함수는 사용 목적에 따른 명확한 구분이 존재하지 않습니다. ..