JavaScript - concised method
in JS on 공부, Javascript
메소드를 축약해서 쓸 수 있다.
var obj = {
name: 'foo',
getName () {return this.name},
getName2 : function () {return this.name} //원래 거.
}
const a = new obj.getName2(); //됨. 생성자 함수로써의 역할
const b = new obj.getName(); //안된다. 생성자 함수로 역할을 못한다.
대신 prototype이라는 프로퍼티가 없어져서 좀 가볍다. 생성자로서는 역할을 못하고 메소드 그 자체의 역할을 한다.
super 명령어로 상위 클래스에 접근 가능
super : 상위의 sub : 하위의
const Person = {
greeting : function() {return 'hello'}
}
const friend = {
greeting : function(){
return 'hi, ' + super.greeting()
}
}
Object.setPrototypeOf(friend, Person) //friend를 인스턴스로 하고 person을 생성자로 하라.
//위 아래가 같다.
const Person2 = function(){}
Person2.prototype.greeting = function(){return 'hello'}
const friend = new Person2();
friend.greeting = function(){
retrun 'hi, ' +this.__proto__.greeting();
}