제너레이터
// 제너레이터
class Member{
*gen(){ // 제너레이터 함수 정의
yield 10;
yield 20;
}
}
let obj2 = new Member();
let genObj2 = obj2.gen();
console.log(genObj2.next()); // {value: 10, done: false}
console.log(genObj2.next()); // {value: 20, done: false}
new.target
// new.target
let Sports2 = function () {
console.log(new.target);
}
Sports2(); // undefined
new Sports2();
/*
ƒ () {
console.log(new.target);
}
*/
// name 프로퍼티
class Sports3{
constructor() {
console.log("Sports3:",new.target.name);
}
};
class Soccer3 extends Sports3{
constructor() {
super();
console.log("Soccer3:",new.target.name);
}
};
let obj3_0 = new Sports3();
let obj3_1 = new Soccer3();
/*
Sports3: Sports3
Sports3: Soccer3
Soccer3: Soccer3
*/
Image 오브젝트 상속
class ExtendsImage extends Image{
constructor() {
super();
}
setProperty(image){
this.src = image.src;
this.alt = image.alt;
this.title = image.title;
console.log(image.src,"/",image.alt,"/",image.title);
}
};
let imageObj = new ExtendsImage();
let properties = {
src : "./rainbow.png",
alt : "무지개가 있는 사진",
title : "무지개"
};
imageObj.setProperty(properties);
document.querySelector("body").appendChild(imageObj);
반응형
'WEB > ECMAScript' 카테고리의 다른 글
Map 오브젝트 (0) | 2020.06.21 |
---|---|
Class -> extends / super / 빌트인 오브젝트 상속 / static / Class 호이스팅불가 (0) | 2020.03.01 |
Class -> 메서드 선언, 상속 메커니즘 (0) | 2020.02.27 |
Generator Object-2 (0) | 2020.02.26 |
RegExp Object / Generator Object (0) | 2020.02.25 |