본문 바로가기
js

javascript object 생성에 대해서

by Nick Black 2020. 12. 9.
반응형

간단한 예제

function person (name,age){
    let obj = {}
    obj.name = name
    obj.age = age
    obj.greeting = function(){
        return `안녕 ${name}!!`
    }
    return obj
}

이제 이 함수를 이용해서 새로운 사람을 만들수있습니다

const hyeon = person('hyeon',25)
hyeon.name
hyeon.age
hyeon.greeting()

 

이제 생성자를 이용해서 한번 만들어볼까요?

function Person (name,age){
    let obj = {}
    this.name = name
    this.age = age
    this.greeting = function(){
        return `안녕 ${this.name}!!`
    }
    return obj
}

const hyeon = new Person('hyeon',25)

생성자를 사용하면 이렇게 사용이 가능합니다

또다른 방법은

Object()생성자와 create()함수를 사용하는 방법이 있습니다

Object 생성자

var person1 = new Object();
person1.name = 'Chris';
person1['age'] = 38;
person1.greeting = function() {
  return `Hi! I'm ${this.name}`
};

 

create함수

var person2 = Object.create(person1);
person2.name
person2.greeting()

create함수의 단점은 익스플로러8에서는 지원하지 않습니다 따라서 오래된 브라우저들까지 지원하고 싶다면
생성자를 사용하는것이 효과적입니다

반응형