博客
关于我
【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/

你可能感兴趣的文章
Nginx模块 ngx_http_limit_conn_module 限制连接数
查看>>
Nginx模块 ngx_http_limit_req_module 限制请求速率
查看>>
nginx添加允许跨域header头
查看>>
nginx添加模块与https支持
查看>>
nginx状态监控
查看>>
Nginx用户认证
查看>>
Nginx的location匹配规则的关键问题详解
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(三)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的使用总结(四)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>
nginx的平滑升级方法:
查看>>
Nginx的是什么?干什么用的?
查看>>
Nginx的端口修改问题
查看>>
nginx看这一篇文章就够了
查看>>
Nginx知识详解(理论+实战更易懂)
查看>>
Nginx简单介绍
查看>>
Nginx系列6之-rewirte功能使用案例总结
查看>>