2019년 8월 20일 화요일

TK·2019년 8월 20일
0

웹프로그래밍 기초 천인국 지음
참고하여 작성하였습니다.

객체 생성

자바스크립트에서 사용되는 객체를 크게 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();

    다음과 같이 생성하며 이 방법은 개발자 원하는 만큼 객체를 쉽게 만들 수 있음

    객체 안의 속성과 메서드를 객체 멤버라고 함
    객체 멤버를 사용하기 위해서는 점 연산자를 사용

0개의 댓글