JavaScript 词条目录
前端Wiki/JavaScript/进阶/对象与数组

对象基础

对象是「键值对」的集合,用来描述一个东西的属性和行为。字面量写法 { key: value } 最常用,键如果是合法标识符可以不加引号,含空格或连字符时要加引号,访问时改用方括号。

访问属性有两种方式:点语法 obj.name 适合固定的键;方括号 obj[key] 适合「键存在变量里」或键名含特殊字符的情况。属性的值如果是函数,我们称它为方法,方法内部通过 this 访问对象自身。

常用操作:直接赋值即可增加/修改属性,delete 删除属性,'key' in obj 判断键是否存在,Object.keys(obj) / Object.values(obj) / Object.entries(obj) 把对象转成数组来遍历。

本节要点点语法取固定键,方括号取变量键;属性值是函数就叫方法;in 判断存在性,Object.keys/values/entries 用于遍历。
JavaScript
const student = {
  name: '小明',
  age: 18,
  'full-name': '明·小',      // 特殊键名要加引号
  sayHi() {                  // 方法:值是函数
    console.log('我是' + this.name);
  },
};

// 访问的两种方式
console.log(student.name);          // 点语法
console.log(student['full-name']);  // 特殊键用方括号
const key = 'age';
console.log(student[key]);          // 变量键必须用方括号

// 增、改、删
student.gender = '男';              // 增
student.age = 19;                   // 改
delete student.gender;              // 删

// 判断与遍历
console.log('age' in student);      // true
console.log(Object.keys(student));  // ['name', 'age', 'full-name', 'sayHi']
console.log(Object.entries(student.name));
student.sayHi();