부모 클래스의 특징을 자식 클래스가 물려받는 것
extends
extend 키워드는 클래스를 다른 클래스의 자식으로 만들기 위해 class선언 또는 class 식에 사용
class larva {
constructor(){
this.age = 0;
this.color = "green";
this.food = "leaf";
}
eat(){
return "eating leaf":
}
}
const larva = require("./larva");
class Butterfly extends larva {
super(food); // larva의 food 속성을 상속 받는다
this.age = 1;
this.color = "yellow"
this.canfly = true
}
let TigerButterfly = new Butterfly;
console.log(TigerButterfly);
// {age : 1 , color : "yellow" , food : "leaf" , canfly : true}
console.log(TigerButterfly.eat());
// "eating leaf"
let person = function(name,gender,birthyear) {
this.name = name;
this.gender = gender;
this.birthyear = birthyear;
}
person.prototype.calculateAge = function() {
let age = new Date().getFullYear() - this.birthyear
console.log(age);
}
person.prototype.city = 'seoul';
let james = new person('james','male','1998');
james.calculateAge();
console.log(james.hasOwnProperty('name')); // true
console.log(james.hasOwnProperty('city')); // false
let anna = new person('anna','Female','1997');
console.log(anna);
e.g.
let arr = [1,2,3];
console.log(arr);
arr.push(4);
let arr2 = new Array(3).fill(1);