选择题1516/1628下面的输出是什么?

1const person = { 2 firstName: "Lydia", 3 lastName: "Hallie", 4 pet: { 5 name: "Mara", 6 breed: "Dutch Tulip Hound" 7 }, 8 getFullName() { 9 return `${this.firstName} ${this.lastName}`; 10 } 11}; 12 13console.log(person.pet?.name); 14console.log(person.pet?.family?.name); 15console.log(person.getFullName?.()); 16console.log(person.getLastName?.());
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:B:Mara undefined Lydia Hallie undefined

通过逐行分析代码来看输出结果:

  1. console.log(person.pet?.name);

    • 这一行代码打印了person.pet.name的值,如果该值存在且不为nullundefined,则输出该值。
    • 在这种情况下,person.pet.name的值为"Mara",因此输出将是"Mara"
  2. console.log(person.pet?.family?.name);

    • 这一行代码试图访问person.pet.family.name的值,但是由于使用了?.,即使person.pet.family不存在(为nullundefined),也不会抛出错误,而是返回undefined
    • 因此,输出将是undefined
  3. console.log(person.getFullName?.());

    • 这一行代码调用person.getFullName()方法(如果存在)并输出其返回值。
    • 在这种情况下,getFullName方法存在,它会返回"Lydia Hallie",因此输出将是"Lydia Hallie"
  4. console.log(person.getLastName?.());

    • 这一行代码试图调用一个名为getLastName的方法(如果存在),但是person对象中并不存在getLastName方法,所以它将返回undefined
    • 因此,输出将是undefined

最近更新时间:2024-08-03

预览

小程序刷题更方便

预览

关注公众号获取最新面经

预览

咨询辅导服务/加面试交流群

赞赏支持

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