在 ES6 中,匿名类使开发人员能够灵活地定义类,而无需显式命名它们。虽然这个功能看起来很吸引人,但实例化匿名类也有其缺点。
当使用 new class {} 实例化匿名类时,JavaScript 会悄悄创建幕后的构造函数和原型对象。每次计算表达式时都会展开此过程,从而为每个实例生成单独的构造函数和原型配对。
优点:
注意事项:
要避免这些陷阱,请选择简单的对象文字:
var entity = { name: 'Foo', getName() { return this.name; } }; console.log(entity.name); // Foo
对象文字提供了数据封装和方法定义的好处,而没有性能损失或原型与匿名类实例化相关的碎片。
作为一般规则,避免直接实例化匿名类。对于单例模式,请考虑已建立的方法,例如惰性求值或模块级变量。对于所有其他场景,对象文字仍然是首选,因为它们简单、高效且与类继承兼容。
以上是ES6 中的匿名类实例化是祝福还是负担?的详细内容。更多信息请关注PHP中文网其他相关文章!