본문 바로가기

WEB/JavaScript

[JS] 자바스크립트의 객체

객체

객체란, 현실의 사물을 프로그래밍에 반영한 것이다. 

 

var name = {
	firstName = "gang",
    lastName = "hodong"
};

 

name이라는 변수에 { }로 감싼 덩어리를 넣었다. 바로 이 덩어리가 객체이다.

여기서 fistName과 lastNameKey가 되고 각각 gang과 hodongValue가 된다.

함수를 클래스처럼 사용하게 해주는 키워드 new

자바스크립트에서는 class가 없다. 하지만 그렇다고 하지만 그 기능을 대신하는 함수가 있다.

new 라는 생성자 함수를 사용한다면 함수를 클래스처럼 인스턴스를 생성할 수 있다.

사용 예시 

function Person(name, gender) {
  this.name = name;
  this.gender = gender;
  this.sayHello = function() {
    alert(this.name + ' said "hello"');
  }
  this.... // 사람의 속성과 메소드를 더 정의할 수 있습니다.
}

 

위 처럼 생성자 함수를 만들었다. 하지만 기존에 알고있는 함수와는 다르게 함수의 이름 첫 부분(Person)을 대문자로 작성해야한다. 

 

var zero = new Person('Zero', 'm'); // Person {name: 'Zero', gender: 'm'}
var hero = new Person('Hero', 'f'); // Person {name: 'Hero', gender: 'f'}
zero.sayHello(); // 'Zero said "hello"'
hero.sayHello(); // 'Hero said "hello"'

 

위 생성자 함수를 통해서 생성한 두 개의 각각 이름과 성별이 다른 두개의 객체를 만들었다.