__proto__:前面两个下划线,后面两个下划线,ES6的__proto__可以的得到或者设置对象的prototype
使用__proto__可以直接在对象表达式里面设置prototype,例子:
1let breakfast = { 2 getDrink(){ 3 return 'tea' 4 } 5} 6 7let dinner ={ 8 getDrink(){ 9 return 'bear' 10 } 11} 12 13let sunday = { 14 __proto__:breakfast 15} 16console.log(sunday.getDrink()); //tea
//判断sunday这个对象的prototype是否等于breakfast
console.log(Object.getPrototypeOf(sunday)===breakfast) //true
使用__proto__设置对象的prototype
1sunday.__proto__=dinner; 2console.log(sunday.getDrink()); //bear 3console.log(Object.getPrototypeOf(sunday)=== dinner); //true