我有一个定义如下的函数:
function makeUser(name, age) {
return {
name,
age
// ...?????? ????????
};
}
Run Code Online (Sandbox Code Playgroud)
然后我创建一个用户变量并尝试使用in操作符console.log()
let user = makeUser('John', 30);
console.log('name' in makeUser); // true - why is true??
console.log('age' in makeUser); // false - why is false??
Run Code Online (Sandbox Code Playgroud)
第一个 log() 评估为真,而第二个评估为假。我希望他们都是真的。
为什么是这样?
甲
Function对象的只读name属性指示该函数的名称在创建时指定,或者它可以是相当anonymous或''(一个空字符串),用于创建匿名功能。
function makeUser(name, age) {
return {
name,
age
// ...?????? ????????
};
}
let user = makeUser('John', 30);
console.log('name' in makeUser); // true
console.log('age' in makeUser); // false
console.log(makeUser.name); // makeUser
console.log(makeUser.age); // undefinedRun Code Online (Sandbox Code Playgroud)