JavaScript 的“new”关键字有害吗?
JavaScript 的“new”关键字引发了争议,一些人因认为它的使用而反对使用它风险。然而,仔细检查就会发现使用“new”的许多优点。
使用“new”的优点
缺点"new"
减轻缺点
为了解决这个缺点,可以向每个函数添加一个简单的检查:
function foo() { // If "new" is omitted, silently correct the problem if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
这可确保对象始终正确构造,消除静默失败的风险。
面向未来
ES5 引入了严格模式,该模式不允许某些构造,包括“arguments.callee”。因此,上述检查可能需要在严格模式下进行修改:
function foo() { // Check for "new" using new.target (ES6) if (!(new.target)) { throw new Error("Constructor called as a function"); } // Constructor logic follows... }
结论
虽然“new”关键字有其警告,但它仍然是一个JavaScript 中的重要工具。通过了解其优势并降低其潜在风险,开发人员可以安全地利用“新”的力量进行对象创建和代码重用。
以上是JavaScript 的'new”关键字是利大于弊吗?的详细内容。更多信息请关注PHP中文网其他相关文章!