美文网首页
ES6-对象字面量语法扩展

ES6-对象字面量语法扩展

作者: 清风昙 | 来源:发表于2022-03-04 13:40 被阅读0次

对象字面量(Object Literals)是js中创建对象的一种方法,在ES6中通过如下语法,让对象字面量变得更加强大简洁。

  • 属性初始值的简写
    当一个对象的属性与本地变量同名时,可以不用写冒号和值,简单地只写属性名即可。
function testFunc(color, name) {
  return { 
    // 有同名地参数,只写属性名就可以
     color,
     name
  }
}
let color = 'red'
let name = 'zhang wu'
var obj = {color, name}
// 有同名地本地变量,只写属性名即可

注:当对象字面量里只有属性名称时,js引擎会在可访问作用域中查找与其同名的变量,如找到就把变量的值赋值给对象字面量里的同名属性

  • 对象方法的简写语法
    ES6中定义对象方法时可以省略冒号和function关键字。
var obj = {
  color: 'red',
  showColor() {
    console.log(this.color)
   }
}
obj.showColor()
console.log(obj.showColor.name) // showColor

注:通过对象方法的简写语法创建的方法有一个name属性,其值为圆括号前面的名称。

  • 可计算的属性名
    在js中访问对象的属性,可通过点号(.)或方括号([]),如果属性名包含了特殊字符或中文,或者需要通过计算得到属性名,只能用方括号。
let suffix = 'name'
let obj = {}
obj['first name'] = 'zhangsan' // 属性名中有空格
obj['last' + suffix] = 'liwu'  // 属性名由表达式计算得到
console.log(obj)  // {'first name': 'zhangsan', 'last name': 'liwu'}

在ES6中可以在对象字面量中使用可计算的属性名称。

let suffix = 'name'
let obj = {
  ['first' + suffix]: 'zhangsan',
  ['last' + suffix]: 'liwu'
}
console.log(obj)  // {'first name': 'zhangsan', 'last name': 'liwu'}

相关文章

  • ES6-对象字面量语法扩展

    对象字面量(Object Literals)是js中创建对象的一种方法,在ES6中通过如下语法,让对象字面量变得更...

  • ES6-对象字面量的扩展

  • <<深入理解ES6>>记:四

    第4章 扩展对象的功能性 1.对象字面量语法扩展 属性初始值的简写 对象方法的简写语法 可计算属性名(Comput...

  • 扩展对象的功能性.md

    对象扩展 对象类别 在ES6中,对象分为下面几种叫法。 普通对象 特异对象 标准对象 内建对象 对象字面量语法拓展...

  • 深入理解ES6 --- 对象

    对象字面量语法扩展 (1) 属性初始值简写 为对象字面量属性赋值为同名的局部变量时,不必再写: 和值,只写属性名即...

  • 对象字面量扩展

    ES2015之前的ECMAScript标准中,对象字面量只是一种用于表达对象的语法。而在ES2015中,ECMAS...

  • ES6学习笔记二 (扩展对象的功能性、解构、Symbol)

    第四章 扩展对象的功能性 1. 对象字面量语法扩展 直接看例子 ES6中通过属性初始化的简写语法,可以消除这种属性...

  • ES6(四)扩展的对象功能1

    1.对象类别(普通、标准、内置) 2.对象字面量语法的扩展 (属性名与值相同可以只写一个; 对象里面的方法简写...

  • JavaScript 模式(三)

    JS字面量和构造函数 1.总体说明 尽量避免使用构造函数 按需创建对象方式,最适合选择字面量 2.字面量语法 对象...

  • 编写高质量的iOS有效方法

    1-多用字面量语法,少用与之等价的方法 使用字面量语法,可以缩减代码长度,使其更为易读,⚠️使用字面量创建的对象都...

网友评论

      本文标题:ES6-对象字面量语法扩展

      本文链接:https://www.haomeiwen.com/subject/engmrrtx.html