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
相关推荐
m0_736034851 小时前
1.28笔记
前端·chrome·笔记
IT陈图图1 小时前
构建 Flutter × OpenHarmony 跨端带文本输入对话框示例
开发语言·javascript·flutter
奔跑的web.7 小时前
TypeScript 装饰器入门核心用法
前端·javascript·vue.js·typescript
阿蒙Amon7 小时前
TypeScript学习-第1章:入门
javascript·学习·typescript
winfredzhang7 小时前
实战复盘:如何用 HTML+JS+AI 打造一款“影迹”智能影视管理系统
javascript·html·json·加载·搜索·保存·电影接口
集成显卡7 小时前
Lucide Icons:一套现代、轻量且可定制的 SVG 图标库
前端·ui·图标库·lucide
pas1367 小时前
37-mini-vue 解析插值
前端·javascript·vue.js
十里-8 小时前
vue.js 2前端开发的项目通过electron打包成exe
前端·vue.js·electron
雨季6669 小时前
构建 OpenHarmony 简易文字行数统计器:用字符串分割实现纯文本结构感知
开发语言·前端·javascript·flutter·ui·dart
雨季6669 小时前
Flutter 三端应用实战:OpenHarmony 简易倒序文本查看器开发指南
开发语言·javascript·flutter·ui