웹프로그래밍 기초 천인국 지음
참고하여 작성하였습니다.
자바스크립트에서 사용되는 객체를 크게 2가지로 나누면 내장 객체 , 사용자 정의 객체
내장된 객체는 생성자를 정의하지 않고도 사용이 가능
예) Date, String , Array , document
객체의 생성 방법
-자바스크립트는 상당히 유연성 있는 객체 지향 언어
-객체를 객체 상수로부터 직접 생성
-생성자 함수를 이용하여 객체를 정의하고 new를 통해 객체의 인스턴스를 생성
객체 상수로 객체 생성 (객체의 속성과 메서드)
let yourCar = {
speed : 100,
model : "Sonata",
color : "pink",
accel: function () {this.speed += 10;},
brake : function () {this.speed -=10;}
};
문장대로 실행하면 객체가 생성되고 객체의 이름은 yourCar가 됨
생성된 객체를 사용하기 위해서는
yourCar.model = "sonata ver 3.0";
yourCar.accel();
이렇게 작성하면 됨
작성된 객체는 하나만 생성됨
생성자 함수를 이용한 객체 생성
-개발자는 자신만의 객체도 생성 가능 => 사용자 정의 객체
-사용자 정의 객체를 생성하려면 생성자라는 특별한 함수가 필요
생성자는 객체를 초기화하는 역할을 함
객체를 생성하는 연산자는 new
-this는 코드를 실행하는 현재 객체를 의미
this가 없다면 속성을 지역 변수로 혼동할 수 있기 때문에 객체의 속성에는 반드시 this를 붙임성
-앞에 this가 붙은 변수는 속성이고 앞에 this가 붙는 함수는 메서드
function Car (speed, color , model) {
this.speed = speed;
this.color = color;
this.model = model;
this.accel = function () {
this.speed +=10;
}
this.brake = function () {
this.speed -=10;
}
생성자를 생성하였으면 객체는
let yourCar = new Car (110, "blue", "sonata ver 3.0" );
yourCar.color = "gray";
yourCar.accel();
다음과 같이 생성하며 이 방법은 개발자 원하는 만큼 객체를 쉽게 만들 수 있음
객체 안의 속성과 메서드를 객체 멤버라고 함
객체 멤버를 사용하기 위해서는 점 연산자를 사용