ES6 对象的面试题

ES6 对象面试题

  1. 问题描述: 什么是对象解构赋值?给出一个使用对象解构赋值的示例。

    答案: 对象解构赋值是一种从对象中提取属性并赋值给变量的语法。它允许我们以更简洁的方式从对象中获取特定属性的值。

    以下是一个使用对象解构赋值的示例:

    javascript 复制代码
    const person = { name: 'Alice', age: 30, country: 'USA' };
    const { name, age } = person;
    console.log(name, age); // 输出 'Alice' 30
  2. 问题描述: 什么是对象的展开语法(Spread Syntax)?给出一个使用对象展开语法的示例。

    答案: 对象的展开语法允许我们将一个对象的属性复制到另一个对象中。它可以用于创建新的对象或合并多个对象的属性。

    以下是一个使用对象展开语法的示例:

    javascript 复制代码
    const person = { name: 'Alice', age: 30 };
    const address = { city: 'New York', country: 'USA' };
    
    const mergedObject = { ...person, ...address };
    console.log(mergedObject);
    // 输出: { name: 'Alice', age: 30, city: 'New York', country: 'USA' }
  3. 问题描述: 什么是对象的方法简写?给出一个使用方法简写的示例。

    答案: 对象的方法简写是一种在对象字面量中定义方法的简洁语法。在 ES6 中,可以省略函数关键字 function 和冒号 :,只需提供方法的名称和函数体即可。

    以下是一个使用方法简写的示例:

    javascript 复制代码
    const person = {
      name: 'Alice',
      age: 30,
      sayHello() {
        console.log(`Hello, my name is ${this.name}`);
      }
    };
    
    person.sayHello(); // 输出 'Hello, my name is Alice'
  4. 问题描述: 什么是计算属性名(Computed Property Names)?给出一个使用计算属性名的示例。

    答案: 计算属性名是一种允许在对象字面量中使用表达式作为属性名的语法。通过使用方括号 [] 和表达式,可以根据运行时的值来计算属性名。

    以下是一个使用计算属性名的示例:

    javascript 复制代码
    const propName = 'age';
    
    const person = {
      name: 'Alice',
      [propName]: 30
    };
    
    console.log(person.age); // 输出 30
  5. 问题描述: 什么是对象的解构赋值默认值?给出一个使用解构赋值默认值的示例。

    答案: 对象的解构赋值默认值允许在解构赋值过程中为未定义或值为 undefined 的属性设置默认值。如果属性的值为 null 或已定义,则不会使用默认值。

    以下是一个使用解构赋值默认值的示例:

    javascript 复制代码
    const person = { name: 'Alice', age: undefined };
    const { name, age = 30 } = person;
    
    console.log(name, age); // 输出 'Alice' 30
相关推荐
Amumu121388 分钟前
Vue Router 和 常用组件库
前端·javascript·vue.js
霍理迪13 分钟前
CSS移动端开发及less使用方法
前端·css
2601_9498574313 分钟前
Flutter for OpenHarmony Web开发助手App实战:HTML参考
前端·flutter·html
£漫步 云端彡16 分钟前
Golang学习历程【第八篇 指针(pointer)】
javascript·学习·golang
爱内卷的学霸一枚16 分钟前
现代前端工程化实践:从Vue到React的架构演进与性能优化(7000字深度解析)
前端·vue.js·react.js
南风知我意95719 分钟前
【前端面试4】框架以及TS
前端·面试·职场和发展
鹏北海-RemHusband20 分钟前
踩坑记录:iOS Safari 软键盘下的“幽灵弹窗“问题
前端·ios·safari
极客小云22 分钟前
【基于AI的自动商品试用系统:不仅仅是虚拟试衣!】
javascript·python·django·flask·github·pyqt·fastapi
一位搞嵌入式的 genius24 分钟前
深入理解浏览器中的 JavaScript:BOM、DOM、网络与性能优化
前端·javascript·网络·性能优化
lang2015092824 分钟前
一键生成Java Web项目:Tomcat-Maven原型解析
java·前端·tomcat