计算属性:
定义对象时候,属性的名字用方括号,不用引号,可以动态给属性起名。
例子1:
let fruit = prompt("Which fruit to buy?", "apple");
let bag = {};
// 从 fruit 变量中获取值
bag[fruit] = 5;
console.log(bag)
let pen = 'red'
let bi = {
[pen]: 10, // 属性名是从 pen 变量中得到的
};
console.log( bi.red );
结果:
例子2:
let fruit = prompt("Which fruit to buy?", "apple");
let bag = {};
// 从 fruit 变量中获取值
bag[fruit + '123abc'] = 5;
console.log(bag)
结果:
属性值简写:
当属性名和属性值相同的时候
function makeUser(name, age, sex) {
return {
name: name,
age: age,
sex:sex,
};
}
//可以用 name 来代替 name:name 像下面那样:
function makeUser2(name, age, sex) {
return {
name,
age,
sex,
};
}
//属性名简写方式和正常方式混用,此时参数传递进来的无效
function makeUser3(name, age, sex) {
return {
name,
age,
sex:'male',
};
}
let user = makeUser("John", 30,'female');
let user2 = makeUser2("Mike", 30,'female');
let user3 = makeUser3("Mike", 30,'female');
console.log('user.name: ',user.name);
console.log('user2.name: ',user2.name);
console.log('user3.sex: ',user3.sex);
结果: