JavaScript 对象

Object 类型

JavaScript 的对象类似于其他语言的哈希结构,是一种无序的 key => value 集合,用 {} 符号表示。

 // 创建 | Object 的 key 必须是 “字符串” 或者 “数字” 这种 “不可变性质” 的类型,并且不能重复,value 可以是任意的
var person = {
 name: 'Ada',
 age: 19
}

// 取值
console.log(person.name) // 'Ada'
console.log(person['name']) // 同上

// 赋值
person.birth = 1896

// 删除
delete person.birth

属性检测

'Ada' in {'Ada': 1} // true | 验证属性是否存在

对象方法

Object.keys({a: 1, b: 2}) // [a, b] | 获取 key
Object.values({a: 1, b: 2}) // [1, 2] | 获取 value
Object.assign({a:1}, {b:2}) // {a:1, b:2} | 合并,重复的 key 会被覆盖

是否为空

判断一个 {} 是否是空的。

{} === {} // false | 就像 NaN !== NaN 一样,两个 {} 也不相等
{}.length // 报错 | length 是获取一个 “序列” 的长度,对象并不是序列,所以没有 length 方法

// 需要先把 {} 转换成 [],才能验证是否为空
Object.keys({}).length // 0 

由于 JavaScript 的 object 类型它既是一种哈希数据结构,又是我们面向对象编程传统意义上的 “对象”。为了不混淆概念,ES6标准新推出了一种哈希结构 Map 和 集合数结构 Set

更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程