set __proto__和get __proto__是Object原型链的方法,设置访问器要重写此方法

image.png
语法
get [属性名]{}
get [属性名]{}
const language = {
current: "javascript",
lang: "javascript",
get current() {
// return 12;
},
set current(lang) {
// this.current = lang; //递归了堆栈溢出
this.lang = lang;
},
};
console.log(language);
language.current = "go";
console.log(language); //go
console.log(language.current); //undefined
class Lang {
language = "javascript";
get language() {
console.log("get");
return "java";
}
set language(lang) {
this.lang = lang;
}
}
const l = new Lang();
console.log((l.language = 4));
console.log(l); //{language:4}
getter
访问属性的时候调用此方法,不能设置形参, 否则报错,有返回值
setter
设置属性的时候调用此方法,不能设置形参,否则报错