js中获取对象值obj[‘name‘]和obj[true]等的区别

本文探讨了JavaScript中通过点表示法和中括号表示法访问和添加对象属性的差异。点表示法适用于已知的字符串属性名,而中括号表示法允许使用变量或特殊字符(如数字和布尔值)作为属性名。在动态添加属性时,必须使用中括号表示法。此外,文章还提到了数字和布尔值作为属性名时的规则和注意事项。

js中添加对象obj['name']和obj[true]等的区别

一、获取对象属性值

obj = {
        name: 'js',
        age: 18,
        1: 8,
        true: '布尔值',
        false: '错误',
    }
  // .方法后面跟的必须是一个指定的属性名称,而中括号方法里面可以是变量
   console.log(obj.name) //属性名称
   let newName = 'name'
   console.log(obj[newName]) //变量
   
   //不加双引号的话,js会认为这是变量名,而这个变量是不存在的
    console.log(obj[name]) //变量名,没有找到变量name
    console.log(obj['name'])
    
    //如果属性名是数字,则必须有双引号,并且用[] 方括号访问
    console.log(obj['1']) 

但是

猜测原因可能是因为JS内置对象

 //如果键名是布尔或者是数字,不规则写法也可以,
 obj[false], obj[name], obj[1]
 '错误'      underfined   8

二、添加对象属性值

  //两种方法都可以添加属性,
  //但是当动态为对象添加属性时,必须使用中括号【】,不可用点方法
     obj.name = 'html'
     obj['age'] = 20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值