相关疑难解决方法(0)

什么是"new.target"?

ECMAScript 2015规范提到关键字(或单词?)new.target正好3次 - 在14.2.3中 1次:

通常,Contains不会查看大多数函数表单但是,Contains用于检测ArrowFunction中的new.target,this和super用法.

14.2.16中两次:

ArrowFunction不为arguments,super,this或new.target定义本地绑定.对ArrowFunction中的参数,super,this或new.target的任何引用 都必须解析为词汇封闭环境中的绑定

MDN提到它,但非常模糊,页面不完整.

巴别塔似乎不支持它.尝试在函数(箭头或其他)中使用new.target时出现语法错误.

它是什么,它应该如何使用?

javascript ecmascript-6

25
推荐指数
2
解决办法
6139
查看次数

未捕获的类型错误:不可变原型对象 '#<Object>' 无法设置其原型

我有一个链接到 .htm 文件的 .js 文件,并且 .js 文件中的唯一代码是以下行:

Object.setPrototypeOf(Object.prototype,{x:616});
Run Code Online (Sandbox Code Playgroud)

在加载 .htm 页面时,“chrome 控制台”显示错误:

Uncaught TypeError: Immutable prototype object '#<Object>' cannot have their prototype set
Run Code Online (Sandbox Code Playgroud)

我以前从未见过此错误,并且无法在此处或在线找到任何相关信息。

我假设该对象已被密封/冻结,因此进行了测试:

console.warn('sealed        ?',Object.isSealed(Object.prototype));      //  false
console.warn('frozen        ?',Object.isFrozen(Object.prototype));      //  false
console.warn('extensible    ?',Object.isExtensible(Object.prototype));  //  true
Run Code Online (Sandbox Code Playgroud)

但这并没有说明问题,因此让我感到困惑。这是有史以来第一次在设置原型时发生这种情况,Object.prototype我是否想知道我的 Chrome 浏览器是否自动更新了新功能或其他什么?

javascript prototype typeerror

3
推荐指数
1
解决办法
632
查看次数

标签 统计

javascript ×2

ecmascript-6 ×1

prototype ×1

typeerror ×1