美文网首页让前端飞
浅谈JS对象的属性访问和键值访问

浅谈JS对象的属性访问和键值访问

作者: xiao雨痕 | 来源:发表于2016-12-12 00:23 被阅读402次

最近在和后台联调接口时发现了一些恶心的对象结构,类似这样。

const a  = {
  '0': 'a',
  '1': 'b',
  '2': 'c',
}

当需要取对象中的值时,只能够通过a['0']这种方式。而通过a.0获取会提示

Uncaught SyntaxError: Unexpected number

前者属于键值(key)访问,而后者则是通过属性(property)访问。在普通的对象中,使用任意方法都能够获取到对应的值。但通过属性访问后面需要一个标识符兼容的属性名,而通过键值访问则可以接受任意兼容UTF-8/unicode的字符串作为属性名。

所以当我们需要访问对象a的’0‘属性时,只能通过键值的形式访问。

有意思的是,在js中,数组也是对象,数组的索引就是属性名,所以我们会发现,数组的索引不是 Number 类型 而是 String 类型,数组也需要通过属性(property)进行访问。

我们可以直接使用 array[0] 的写法。js自动将 Number 类型的 0 转换成了String 类型的 "0"

const array = ['a', 'b', 'c']
console.log(array['0']) //  a

相关文章

  • 浅谈JS对象的属性访问和键值访问

    最近在和后台联调接口时发现了一些恶心的对象结构,类似这样。 当需要取对象中的值时,只能够通过a['0']这种方式。...

  • 2019-08-26

    js对象。可以认为是变量的容器,类似键值对的形式。访问对象属性的时候,也是通过 对象.属性 的形式。对象的方法(...

  • 知识点

    js访问对象属性两种方式在javascript中我们通常使用.来访问对象的属性,那么也可以使用[ ]来访问对象属性...

  • Javascript中理解并创建对象

    理解对象 简单来说,对象是键值对的集合。属性类型:数据属性,访问器属性。 数据属性:Configurable,En...

  • valueForKeyPath:的妙用

    KVC (KVC)键值编码相信大家都不陌生,常用来访问对象属性,也可以访问集合属性。还有一些可以给通过此方法访问一...

  • 2018-01-17

    访问、添加对象的属性和方法的两种方式 一.访问对象的属性 1.1 点语法 格式: 访问对象属性: 对象名.属性名 ...

  • 面向对象01-对象的动态特性

    对象的动态特性 在js中可以动态的对对象属性进行增加、修改和删除 访问对象的方法 01 可以使用点语法访问 02 ...

  • iOS | KVO与KVC深入

    KVC(key-value coding):键值编码,利用字符串类型的key值去访问/修改对象的属性值。可以访问/...

  • Python 字典

    类似于 js 里面的狭义的对象 本质是键值对 表示 访问 不能用点号访问 添加 直接添加 修改 直接修改 删除 用...

  • KVC详解

    KVC定义 KVC(Key-value coding)键值编码。通过来直接访问对象的属性,或者为属性赋值...

网友评论

    本文标题:浅谈JS对象的属性访问和键值访问

    本文链接:https://www.haomeiwen.com/subject/gxxmmttx.html