博客
关于我
【ES6】何为动态计算属性名?
阅读量:608 次
发布时间:2019-03-13

本文共 920 字,大约阅读时间需要 3 分钟。

technology tidbits about dynamic attribute names in JavaScript

In ES5和以前,如果属性名需要动态计算,通常需要通过对象.[变量名]的方式访问。在这种情况下,字面量(例如{ attName: '王五' })并不支持引用前定义的变量作为属性名。

作为演示,考虑以下代码:

var attName = 'name';var p = {     name : '王五',     age : 20 };console.log(p[attName]); // 输出: '王五'

这段代码中,p对象中的属性名是直接硬编码的“name”。与此相反,如果我们希望属性名与变量attName一起动态计算:

var attName = 'name';var p = {     [attName] : '王五',     age : 20 };console.log(p[attName]); // 输出: '王五'

通过使用方括号,我们可以在ES6中将已定义的变量作为属性名引用。这一改变使得动态属性名的实现更加方便和直观。

需要注意的是,在字面量中ynamically computed property names仍然需要使用传统的对象.变量名的方式,而不是直接使用方括号。例如:

var p = { attName: '王五' };console.log(p['name']); // 输出: undefined

这样,attName属性的值被硬编码为对象中属性名为"attName",而不是根据变量attName计算。这反映了在ES6中方括号语法带来的便利性。

学习和应用这一知识点对于理解现代JavaScript对象模型和动态属性访问非常有用。如果你遇到需要在对象中基于变量或表达式动态添加属性的情况,记得使用方括号语法。这不仅能提高代码的可维护性,还能减少错误和使代码更加简洁易读。

摘要:在JavaScript中,动态计算属性名是通过对象.变量名实现的,而在ES6及以上版本中,通过使用方括号括起来的属性名可以直接引用已定义的变量。这些方法简化了动态属性管理和使代码更加灵活。

转载地址:http://exjaz.baihongyu.com/

你可能感兴趣的文章
ng build --aot --prod生成文件报错
查看>>
ng 指令的自定义、使用
查看>>
ng6.1 新特性:滚回到之前的位置
查看>>
nghttp3使用指南
查看>>
Nginx
查看>>
nginx + etcd 动态负载均衡实践(一)—— 组件介绍
查看>>
nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
查看>>
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>
Nginx + Spring Boot 实现负载均衡
查看>>
Nginx + Tomcat + SpringBoot 部署项目
查看>>
Nginx + uWSGI + Flask + Vhost
查看>>
Nginx - Header详解
查看>>
Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)
查看>>
Nginx - 反向代理与负载均衡
查看>>
nginx 1.24.0 安装nginx最新稳定版
查看>>
nginx 301 永久重定向
查看>>
nginx connect 模块安装以及配置
查看>>
nginx css,js合并插件,淘宝nginx合并js,css插件
查看>>
Nginx gateway集群和动态网关
查看>>