1.下面代码的运行,输出的结果是:
const obj = {
name: "kobe",
age: 40,
height:1.88
};
console.log(Object.keys(obj));
A:[ 'name', 'age' ]
B:[ 'name', 'age', 'height' ]
C:{ name: "kobe",age: 40}
D:{ name: "kobe",age: 40, height:1.88}
答案:B
2.下面代码的运行,输出的结果是:
const obj = {
name: "kobe",
age: 40,
};
Object.defineProperty(obj, "height", {
value: 1.88,
});
console.log(Object.keys(obj));
A:[ 'name', 'age' ]
B:[ 'name', 'age', 'height' ]
C:{ name: "kobe",age: 40}
D:{ name: "kobe",age: 40, height:1.88}
答案:A
3.下面代码的运行,输出的结果是:
const obj = {
name: "kobe",
age: 40,
};
Object.defineProperty(obj, "height", {
value: 1.88,
configurable: true,
writable: true,
enumerable: true,
});
console.log(Object.keys(obj));
A:[ 'name', 'age' ]
B:[ 'name', 'age', 'height' ]
C:{ name: "kobe",age: 40}
D:{ name: "kobe",age: 40, height:1.88}
答案:B
4.下面代码的运行,输出的结果是:
const obj = {
name: "kobe",
age: 40,
get height() {
return this._height;
},
set height(newVal) {
this._height = newVal;
},
};
Object.defineProperty(obj, "_height", {
value: 1.88,
});
console.log(Object.keys(obj));
A:[ 'name', 'age', 'height','_height' ]
B:[ 'name', 'age', 'height' ]
C:[ 'name', 'age', '_height' ]
D:[ 'name', 'age' ]
答案:B
5.下面代码的运行,输出的结果是:
var obj = {
name: "kobe",
age: 40,
get height() {
return this._height;
},
set height(newVal) {
this._height = newVal;
},
};
Object.defineProperty(obj, "_height", {
value: 1.88,
});
console.log(Object.getOwnPropertyNames(obj));
A:[ 'name', 'age', 'height','_height' ]
B:[ 'name', 'age', 'height' ]
C:[ 'name', 'age', '_height' ]
D:[ 'name', 'age' ]
答案:A
6.判断题:Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组 答案:对
7.判断题:Object.getOwnPropertyNames() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组 答案:错
8.Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。 答案:对
9.下面代码的运行,输出的结果是:
let address = Symbol()
const obj = {
name: "kobe",
age: 40,
[address]: '北京'
};
console.log(Object.getOwnPropertyNames(obj));
A:[ 'name', 'age', Symbol() ]
B:[ 'name', 'age' ]
C:[ 'name', 'age', 'address' ]
D: [ Symbol() ]
答案:B
10.下面代码的运行,输出的结果是:
let address = Symbol()
const obj = {
name: "kobe",
age: 40,
[address]: '北京'
};
console.log(Object.getOwnPropertySymbols(obj));
A:[ 'name', 'age', Symbol() ]
B:[ 'name', 'age' ]
C:[ 'name', 'age', 'address' ]
D: [ Symbol() ]
答案:D
11.Object.getOwnPropertySymbols() 方法返回一个给定对象自身的所有 Symbol 属性的数组。 答案:对
12.下面代码的运行,输出的结果是:
const obj = {
[Symbol()]: "kobe",
[Symbol()]: 40,
[Symbol()]: "北京",
};
console.log(obj);
A:{ [Symbol()]: 'kobe', [Symbol()]: 40, [Symbol()]: '北京' }
B:{ [Symbol()]: '北京' }
答案:A
13.下面代码的运行,输出的结果是:
const a = Symbol()
const obj = {
[a]: "kobe",
[a]: 40,
[a]: "北京",
};
console.log(obj);
A:{ [Symbol()]: 'kobe', [Symbol()]: 40, [Symbol()]: '北京' }
B:{ [Symbol()]: '北京' }
答案:B
14.下面代码的运行,输出的结果是:
const obj = {
[Symbol.for('aaa')]: "kobe",
[Symbol.for('aaa')]: 40,
[Symbol.for('aaa')]: "北京",
};
console.log(obj);
A:{ [Symbol(aaa)]: 'kobe', [Symbol(aaa)]: 40, [Symbol(aaa)]: '北京' }
B:{ [Symbol(aaa)]: '北京' }
答案:B
15.下面代码的运行,输出的结果是:
const obj = {
[Symbol('aaa')]: "kobe",
[Symbol('aaa')]: 40,
[Symbol('aaa')]: "北京",
};
console.log(obj);
A:{ [Symbol(aaa)]: 'kobe', [Symbol(aaa)]: 40, [Symbol(aaa)]: '北京' }
B:{ [Symbol(aaa)]: '北京' }
答案:A
16.symbol 是一种基本数据类型 答案:对
17.symbol 是一个类 答案:错
18.每个从Symbol()返回的symbol值都是唯一的 答案:对
19.下面执行结果
Symbol("foo") === Symbol("foo")
A:true
B:false
答案:B
20.下面执行结果
Symbol.for("foo") === Symbol.for("foo")
A:true
B:false
答案:A
21:Symbol.for(key) 方法会根据给定的键 key,来从运行时的 symbol 注册表中找到对应的 symbol,如果找到了,则返回它,否则,新建一个与该键关联的 symbol,并放入全局 symbol 注册表中。 答案:对