那些老旧的代码在 ECMAScript 2017 (ES8) 中被废弃掉了

阅读时长 3 分钟读完

随着前端技术的不断发展, ECMAScript 语法标准也在不断更新。在 ES8 中,一些老旧的语法已经被废弃掉了。本文将详细介绍这些废弃语法, 以及它们的深层含义和指导意义。

为什么会废弃这些语法

在 JavaScript 的初期版本中,有一些语法被广泛使用,但是随着语言的发展,它们的存在变得越来越麻烦和不必要。因此,这些语法在 ES8 中被废弃掉了。

废弃语法的存在会给将来的语言维护带来问题,因为它们会使语言规范变得更加复杂,同时也会让开发者在使用这些语法时出现混淆和错误。

被废弃的语法

1. Function.prototype.arguments 和 Function.prototype.caller

Function.prototype.arguments 和 Function.prototype.caller 都是指针,其中 Function.prototype.arguments 是指向函数参数列表的指针,而 Function.prototype.caller 则指向调用该函数的函数。

这两个语法的问题在于,它们会让 JavaScript 引擎在进行代码优化时变得复杂。因此,在 ES8 中,这两个语法被废弃掉了。

-- -------------------- ---- -------
-------- ----- -
  --------------------------- -- --- -- --
  ------------------------ -- ---
-

-------- ----- -
  ------ -- ---
-

------

2. 简写 octal

在 JavaScript 中,octal 表示基数为8的数字,以0开头的数字就是 octal。

但是,这样的语法有时候会造成混淆。在 ES8 中,使用简写 octal 的语法被废弃掉了。

3. 对象 proto

每一个 JavaScript 对象都有一个 proto 属性,它指向该对象的原型。但是在 ES8 中,对象 proto 属性已经被废弃掉了。

在 ES6 中引入了 Object.setPrototypeOf 和 Object.getPrototypeOf 用于替代 proto

4. Function 构造函数

使用 Function 构造函数来动态的创建一个函数是一种非常强大的功能,但是这样的方法也会让代码容易被攻击,因为它可以执行不受控制的代码。

在 ES8 中,使用 Function 构造函数来创建函数的语法被废弃掉了。

推荐使用箭头函数或者普通函数来替代 Function 构造函数。

总结

废弃语法在 ES8 中被废弃掉,这些语法的存在会给将来的语言维护带来问题。开发者应该尽可能地应用最新的语法,以减少代码的混淆和错误。文章介绍了 Function.prototype.arguments 和 Function.prototype.caller、简写 octal、对象 proto、Function 构造函数 四种被废弃的语法,并给出了替代方案。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f04c5af6b2d6eab3a48a7e

纠错
反馈