属性值缩写
当属性名和属性值的变量名相同时,属性值可以省略。
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)
let obj = {
'#2': 'B',
'#3': 'C',
'#1': 'A',
}
console.log(obj)