选择题1555/1603下面代码的输出是什么?

1class Dog { 2 constructor(name) { 3 this.name = name; 4 } 5} 6 7Dog.prototype.bark = function() { 8 console.log(`Woof I am ${this.name}`); 9}; 10 11const pet = new Dog("Mara"); 12 13pet.bark(); 14 15delete Dog.prototype.bark; 16 17pet.bark();
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:A:"Woof I am Mara", TypeError

我们可以用delete关键字删除对象的属性,对原型也是适用的。删除了原型的属性后,该属性在原型链上就不可用了。在本例中,函数bark在执行了delete Dog.prototype.bark后不可用, 然而后面的代码还在调用它。 当我们尝试调用一个不存在的函数时TypeError异常会被抛出。在本例中就是 TypeError: pet.bark is not a function,因为pet.barkundefined.

最近更新时间:2021-07-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!