Effective Javascript 翻译
jx_zhang_1993
这个作者很懒,什么都没留下…
展开
-
C4 - Item 30 了解prototype,getPrototypeOf以及__proto__的区别
译文对象(object)是Javascript的基本数据结构。直观上来说,对象表示的是一个关联字符串和值的表。但是当你深度挖掘下去,会发现有很多机制包含在对象当中。 就像很多面向对象语言一样,JavaScript提供对“实现继承”的支持:通过动态委托机制对代码和数据进行复用。但是和其他很多传统的语言不同,JavaScript的继承机制是基于原型(prototype)而非类(class)。对很多编程翻译 2017-07-11 22:09:50 · 323 阅读 · 0 评论 -
C4 - Item 31 倾向于使用Object.getPrototypeOf而不是__proto__
译文ES5用于获取对象的原型的标准API是Object.getPrototypeOf,只有少数的JavaScript引擎对__proto__属性有稳定长期的支持,并且在这些环境当中对其也不一定是兼容的。环境的不同,在对给对象的prototype赋值为null的处理方式也不同。在一些环境中,__proto__属性是继承自Object.prototype的,这样的一个对象就没有这个特别的__proto_翻译 2017-07-12 20:04:03 · 343 阅读 · 0 评论 -
C4 - Item 32 永远不要修改__proto__
译文特别的__proto__属性提供了Object.getPrototypeOf方法所没有的额外功能:修改对象的原型链。虽然看似无害,但是这个隐形的功能是必须要避免使用的。一个非常明显的原因就是:当你要通过这种方式修改原型链的时候,这种方式却不被支持。另外的原因还有性能关系。所有的现在JavaScript引擎都对设置和获取对象属性进行了着重的优化,因为这属于是最常用的一些操作。这些优化完全基于引擎对翻译 2017-07-12 20:43:02 · 478 阅读 · 0 评论