JavaScript对象属性带引号和不带引号的区别

下面这块代码,key的命名标准可以使用obj.name的方式获取到value

  let obj = {
      name: "xiaoming",
      age: "16"
  }
console.log(obj.name) // xiaoming

如果是Key是数字+字符串并且不加引号,则报错

  let obj = {
      name: "xiaoming",
      16age: 16,
  }
浏览器报错:Uncaught SyntaxError: Invalid or unexpected token

如果键值以数字开头或者是纯数字取值就要用中括号取值,否则就会报错。

  let obj = {
      name: "xiaoming",
      "16age": 16,
      123: 456,
       "123": 123
  }
console.log(obj.16age) // 报错
console.log(obj[name]) //  undefined
console.log(obj['name']) //  xiaoming
console.log(obj["16age"]) // 16
console.log(obj[123]) // 123
console.log(obj["123"]) // 123 纯数字带不带引号都会被视为同一个值,下面的"123"会把上面的123覆盖掉,所以数字取值的时候中括号里面带不带引号都可以

总结:带引号与不带引号的区别在于命名是否是字母开头,如果不是取值就要用中括号取值,当然字母也可以像上面那种方法中括号取值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容