155个JavaScript基础问题(96-105)

96. 输出什么?

class Person {
  constructor() {
    this.name = "Lydia"
  }
}

Person = class AnotherPerson {
  constructor() {
    this.name = "Sarah"
  }
}

const member = new Person()
console.log(member.name)

155个JavaScript基础问题(96-105)

答:B,这题可以理解为Person中存放了新的地址,Person也指向了新的类,所以其实例也是新的类的实例对象,所以打印出的是B。

97. 输出什么?

const info = {
  [Symbol('a')]: 'b'
}

console.log(info)
console.log(Object.keys(info))

155个JavaScript基础问题(96-105)

答:D,本题意在考查我们对Symbol的理解,Symbol是不可枚举的,但是通过访问整个对象可以看到,所以答案选D。

98. 输出什么?

const getList = ([x, ...y]) => [x, y]
const getUser = user => { name: user.name, age: user.age }

const list = [1, 2, 3, 4]
const user = { name: "Lydia", age: 21 }

console.log(getList(list))
console.log(getUser(user))

155个JavaScript基础问题(96-105)

答:A,本题意在考查数组的解构赋值和箭头函数如何返回一个对象,我们要切记箭头函数在简写的情形下,要想返回一个对象,需要用小括号包着,否则会报错,但是题目中选的是undefined,其次数组的解构赋值中拓展运算符后面存放的是一个剩余数组,所以选A。

99. 输出什么?

const name = "Lydia"

console.log(name())

155个JavaScript基础问题(96-105)

答:C,本题中JS会将name当作函数运行,所以会出现类型错误。

100. 输出什么?

// 
上一篇:m3u8 ts 视频流爬取思路,合成


下一篇:最长上升子序列