function person (a,b) {
this.lastName = a;
this.firstName = b;
this.getFullName = function () {
return this.lastName+this.firstName;
}
}
personA = new person("seyeon","ko");
console.log(personA.getFullName());
javascript는 생성자 함수라는 함수형태를 이용해서 객체를 생성할 수 있다.
이때, 생성자 함수 내부의 this는 생성자 함수가 생성할 인스턴스를 가리킨다.
생성자 함수에 의해 객체가 생성되는 과정 (this Binding)
생성자 함수와 일반 함수의 특별한 형식적 차이는 없다.
자바스크립트 엔진은 함수 객체를 생성할 때 함수 정의 방식에 따라 함수를 constructor과 non-constructor로 구분한다.
constructor: 함수 선언문,함수 표현식,클래스
non-constructor: ES6 메소드 축약표현으로 정의한 메소드, 화살표 함수
함수를 new 키워드와 함께 호출하면 함수 내부 메소드 [[Construct]]가 호출되고, new 키워드 없이 호출하면 함수 내부 메소드 [[Call]]이 호출된다.
다음 4가지 조건을 만족 하는 객체를 일급 객체라고 한다.
객체지향 프로그래밍이란 프로그램을 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나, 프로그램을 여러 개의 독립적 단위, 즉 객체의 집합으로 보는 프로그래밍 패러다임을 말한다.