일반 함수

1. 함수의 구분ES6 이전까지 JS의 함수는 구분없이 다양한 목적으로 사용되었다. 일반적인 함수, new 연산자와 함께 생성자 함수, 객체에 바인딩되어 메서드로 호출할 수 있다. 이러한 사용법은 편리해 보이지만 실수를 유발할 수 있으며 성능적으로도 손해였다.var foo = function () { return 1;};// 일반적인 함수로서 호출foo(); // -> 1// 생성자 함수로서 호출new foo(); // -> foo {}// 메서드로서 호출var obj = { foo: foo };obj.foo(); // -> 1 ES6 이전의 모든 함수는 일반 함수로서 호출할 수 있는 것은 물론 생성자 함수로서 호출할 수 있다. // 프로퍼티 f에 바인딩된 함수는 callable이며 constructo..
22.1 this 키워드 객체는 상태를 나타내는 프로퍼티와 동작을 나타내는 메서드를 하나의 논리적인 단위로 묶은 복합적 자료구조이다. 메서드는 자신이 속한 객체의 프로퍼티를 참조/변경할 수 있어야 한다. 이때 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 한다. 객체 리터럴 방식으로 정의된 객체는 재귀적으로 자신이 속한 객체를 가리킬 수 있다. const circle = { radius: 5, getDiameter() { // 해당 메서드가 속한 객체의 프로퍼티나 다른 메서드를 참조하려면 // 자신이 속한 객체인 circle을 참조할 수 있어야 한다. return 2 * circle.radius; } } 위의 예제의 객체 리터럴은 circle 변수에 할당되기 직전에 평가되어 getDiameter..
58청춘
'일반 함수' 태그의 글 목록