JavaScript对象的可计算属性名

ECMAScript的对象的键往往是确定的,如果想要实现对象的键根据实际情况赋予不同的键的话,那就得用 可计算属性名 这个功能,把需要计算的表达式放在方括号[]里面。

在ECMA262-5(2009)里面的做法是:

const nameKey = "name";
const ageKey = "age";
const jobKey = "job";

let person = {};
person[nameKey] = 'Matt';
person[ageKey] = 27;
person[jobKey] = 'Software engineer';

console.log(person);
//{ name: 'Matt', age: 27, job: 'Software engineer' }

从ECMA262-6(2015)开始添加了可计算属性名这个功能,这里这样做:

const nameKey = "name";
const ageKey = "age";
const jobKey = "job";

let person = {
  [nameKey] : 'Matt',
  [ageKey] : 27,
  [jobKey] : 'Software engineer'
};

console.log(person);
//{ name: 'Matt', age: 27, job: 'Software engineer' }

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/javascripte/9730.html

(2)
上一篇 2021年11月16日 01:27
下一篇 2021年11月26日 15:02

相关推荐

  • JavaScript对象或类的关键字super

    super关键字用于调用一个对象的父对象上的构造函数或方法。 语法 调用 父对象/父类 的构造函数 在构造函数中使用时,super关键字必须在使用this关键字之前使用。 调用 父对象/父类 的静态方法

    JavaScript经验 2021年11月13日
    02290
  • JavaScript函数或类的this关键字

    与其他语言相比,函数的 this 关键字在 JavaScript 中的表现略有不同。 在非严格模式下,总是指向一个对象,在严格模式下可以是任意值。 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定)。ES5 引入了 bind 方法来设置函数的…

    JavaScript经验 2021年11月16日
    02370
  • npm和npx的区别

    npm的m是Management,npx的x是eXecute。 npm是包管理工具,npx是包的命令执行工具,npx是npm exec命令的别名。 如果学习过ruby的同学,npx就等同于bundle exec命令。 默认情况下,npx是自动安装的,无需额外安装。如果没安装,运行下面命令 用途一 比如,项目安装了web…

    JavaScript经验 2021年7月24日
    05460

发表评论

登录后才能评论