ES6中增强的对象字面量的

  介绍

小编给大家分享一下ES6中增强的对象字面量的,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

概述

在ES6中,对象字面量的语法被增强了

更短的属性声明

如果属性的属性名和属性值引用的变量名一致,可以直接省略

让name=癹ack"//es6之前   var obj={名称:名称}//{名称:“jack"}//es6   让obj={name}//{名称:“jack"}

更短的函数声明

如果属性的属性名和属性值(函数)的函数名一致或者属性值(函数)没有函数名,可以省略<代码> 函数关键字和属性名

//es6之前   var obj={总和:函数(a, b){返回一个+ b}}//es6   让obj={总和(a, b){返回一个+ b}}//{总和:函数(a, b){返回一个+ b}}

可动态计算的属性名

属性名可以动态变化

让关键=皀ame"   让obj={(例子):“jack"}//{名称:& # 39;杰克# 39;}

总览

让关键=皀ame"   让年龄=23   让人={   (例子):“jack"   getName(){返回“jack"},   年龄   }//{名称:“jack" getName:函数(){返回“jack"},年龄:23}

使用巴贝尔翻译

源码

让关键=皀ame"   让年龄=23   让人={   (例子):“jack"   getName(){返回“jack"},   年龄   }

翻译后可以发现,使用的是<代码> Object.defineProperty 实现的

“使用strict";   var _person;   函数_defineProperty (obj,键,值){   如果在obj(关键){   Object.defineProperty (obj,钥匙,{价值:价值,可列举的:没错,可配置:没错,可写:真正});   其他}{   obj[主要]=价值;   }   返回obj;   }      var关键=皀ame";   var年龄=23;   var人=(_person={}, _defineProperty (_person关键,“jack"), _defineProperty (_person,“getName",函数getName () {   返回“jack";   }),_defineProperty (_person,“age"、年龄),_person);

看完了这篇文章,相信你对ES6中增强的对象字面量的有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

ES6中增强的对象字面量的