选择题1158/1587输出什么?

1const set = new Set() 2 3set.add(1) 4set.add("Lydia") 5set.add({ name: "Lydia" }) 6 7for (let item of set) { 8 console.log(item + 2) 9}
难度:
2021-07-02 创建

本题为单选题”

参考答案:

正确选项:C:3, Lydia2, [object Object]2

这个JavaScript代码片段创建了一个 Set ,并将三个不同类型的元素添加到其中:数字1,字符串"Lydia"和一个包含属性name的对象 { name: "Lydia" }。然后,使用for...of循环遍历Set中的每个元素,并将每个元素的值与2相加后打印出来。

让我们一步一步来看代码:

  1. const set = new Set(): 创建了一个名为set的空Set。

  2. set.add(1): 将数字1添加到Set中。

  3. set.add("Lydia"): 将字符串"Lydia"添加到Set中。

  4. set.add({ name: "Lydia" }): 将包含属性name的对象 { name: "Lydia" } 添加到Set中。

  5. for (let item of set) { ... }: 这是一个for...of循环,用于遍历Set中的每个元素。它将遍历所有三个元素:数字1,字符串"Lydia"和对象 { name: "Lydia" }

  6. console.log(item + 2): 此行将在循环中打印每个元素(1,"Lydia"和 { name: "Lydia" }),并在它们的值上加上2。

然而,由于Set中包含不同的数据类型(数字、字符串和对象),+运算符在不同类型的元素上的行为也不同:

  1. 对于数字1:1 + 2 将得到 3
  2. 对于字符串"Lydia":"Lydia" + 2 将把字符串和数字连接起来,结果是 "Lydia2"
  3. 对于对象 { name: "Lydia" }:对象没有定义+运算符的行为,所以 "[object Object]" + 2 将被打印。

循环的输出结果将是:

3
Lydia2
[object Object]2

最近更新时间:2023-07-20

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!