Javascript对象的基础知识

161 阅读1分钟

属性值缩写

当属性名和属性值的变量名相同时,属性值可以省略。

let num1 = 1;
let obj = {
    num1: num1
}
//等价于
let obj = {
    num1
}

属性缩写可以用在调试中,可以清晰看到属性名和属性值的对应关系。

let num1 = 1;
console.log({num1})

对象计算属性

当创建一个对象时,可以在属性名中使用方括号,表示属性名是从括号中的表达式的值中得到。

let fruit = prompt("Which fruit to buy?", "apple");
// 属性名是从 fruit 变量中得到的
let bag = { [fruit]: 5};
let fruit = 'apple'; 
let bag = { 
    [fruit + 'Computers']: 5    // bag.appleComputers = 5
};

属性存在性测试

in操作符测试属性值是否存在于对象之中。in左边是属性名,通常是带引号的字符串。

let obj = {
    age: 12
}
console.log('age' in obj) // => true;
console.log('name' in obj) //=> false;

对象的遍历

使用for...in遍历对象

let obj = {
    name: 'zhangsan',
    age: 12,
    score: 100
}

for(let key in obj){
    console.log(key);
    console.log(obj[key]);
}

对象的属性的排列顺序

整数属性名会被进行排序,其他属性名则按照创建顺序显示。

let obj = {
  '2': 'B',
  '3': 'C', 
  '1': 'A',
}
console.log(obj)

image.png

let obj = {
  '#2': 'B',
  '#3': 'C', 
  '#1': 'A',
}
console.log(obj)

image.png