일급객체 무명의 리터럴로 생성가능 → 런타임에 생성 가능 변수나 자료구조에 저장할 수 있음 함수의 매개변수에 전달할 수 있음 함수의 반환값으로 사용 가능함 함수와 객체를 동일하게 사용할 수 있음 즉, 함수는 값을 사용하는 곳에는 어디든 리터럴로 정의할 수 있고, 이를 런타임에 함수객체로 평가하게 됨 가장 큰 특징 매개변수에 전달할 수 있음 함수의 반환값으로 사용가능 함수 객체의 프로퍼티 Object.getOwnPropertyDescriptors(f); {length: {…}, name: {…}, arguments: {…}, caller: {…}, prototype: {…}} arguments: {value: null, writable: false, enumerable: false, configurable..
함수
Object 생성자 함수 new와 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 빈 객체를 생성한 후에 프로퍼티나 메서드를 추가하여 완성할 수 있다. Object 외에도 String, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수를 제공한다. 생성자 함수 객체 리터럴로 객체 생성하는 것의 문제점 하나의 객체만 생성하므로 동일한 프로퍼티를 갖는 객체를 여러개 갖는 경우 매번 같은 프로퍼티를 기술하기 때문에 비효율적이다. 생성자 함수에 의한 객체 생성 방식의 장점 프로퍼티, 메서드 구조가 같은 객체 여러개를 간편하게 생성할 수 있다. function Circle(radius){ this.radius=radius..