ECMAScript 6 对象扩展.pdfVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ECMAScript 6 对象的扩展 对象的扩展 1. 属性的简洁表⽰法 2. 属性名表达式 3. ⽅法的name属性 4 . Object .is() 5. Object .assign() 6. 属性的可枚举性 7 . 属性的遍历 8. __proto__属性,Object .setPrototypeOf() ,Object .getPrototypeOf() . Object .values() ,Object .entries() 10 . 对象的扩展运算符 11. Object .getOwnPropertyDescriptors() 属性的简洁表⽰法 ES6允许直接写⼊ 量和函数,作为对象的属性和⽅法。这样的书写更加简洁。 var foo = bar; var baz = {foo}; baz // {foo: bar} // 等同于 var baz = {foo: foo}; 上⾯代码表明,ES6允许在对象之中,只写属性名,不写属性值。这时,属性值等于 属性名所代表的 量。下⾯是另⼀个例⼦。 function f(x, y) { return {x, y}; } // 等同于 function f(x, y) { return {x : x, y : y}; } f(1, 2) // Object {x : 1, y : 2} 除了属性简写,⽅法也可以简写。 var o = { ethod() { return Hello!; } }; // 等同于 var o = { ethod: function() { return Hello!; } }; 下⾯是⼀个实际的例⼦。 var birth = 2000/01/01; var Person = { na e: 张三, //等同于birth: birth birth, // 等同于hello: function ()... hello() { console.log(我的名字是, this.na e); } }; 这种写法⽤于函数的返回值,将会⾮常⽅便。 function getPoint() { var x = 1; var y = 10; return {x, y}; } getPoint() // {x :1, y :10} CommonJS模块输出 量,就⾮常合适使⽤简洁写法。 var s = {}; function getIte (key) { return key in s ? s[key] : null; } function setIte (key, value) { s[key] = value; } function clear () { s = {}; } odule.exports = { getIte , setIte , clear }; // 等同于 odule.exports = { getIte : getIte , setIte : setIte , clear: clear }; 属性的赋值器 (setter )和取值器 (getter ),事实上也是采⽤这种写法。 var cart = { _wheels: 4, get wheels () { return this._wheels; }, set wheels (value) { if (value this._wheels) { throw new Error(数值太⼩了!); } this._wheels = value; } } 注意,简洁写法的属性名总是字符串,这会导致⼀些看上去⽐较奇怪的结果。 var obj = { class () {} }; // 等同于 var obj = { class: function() {} }; 上⾯代码中,class是字符串,所以不会因为它属于关键字,⽽导致语法解析报错。 如果某个⽅法的值是⼀个Generator 函数,前⾯需要加上星号。 var obj = {

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档