이 내 객체Javascript in Object 직접 메쏘드를 호출하고 Object.create를 사용하는 것 사이의 리터럴 접근법의 차이점은 무엇입니까?
내가greetFullName
메소드를 호출 할
// Object Literal
var personObjLit = {
firstname : "John",
lastname: "Doe",
greetFullName : function() {
return "personObjLit says: Hello " + this.firstname +
", " + this.lastname;
}
}
입니다 가정, 나는 두 가지 방법을 사용하여 호출 할 수 있습니다. var personObjLitObject = Object.create(personObjLit);
var personFullName = personObjLit.greetFullName();
- 나는이 두 가지의 차이점이 무엇인지 알고 싶어요. 나는 단지 다른 접근법을 의미하거나 그것은 메모리 또는 다른 것에 영향을 미친다.
"greetFullName을 호출하는 두 번째 방법"은 greetFullName을 호출하지 않습니다. –
* "또는 메모리에 영향을줍니다"* - 분명히 두 번째 방법은 두 개의 개체와 첫 번째 단 하나만 사용하는 것이므로 어떻게 생각합니까? 하지만 메모리 문제로 인해 하나 또는 다른 것을하지는 않을 것입니다. 코드가 실제로 수행해야하는 작업에 따라 다른 작업을 수행 할 수 있습니다. – nnnnnn
두 번째 방법은'personObjLit'을 프로토 타입으로 사용하여 새 오브젝트를 작성합니다. 그렇게하는 것은 바람직하지 않습니다. –