ES6学习教程之对象的扩展详解

yizhihongxing

ES6学习教程之对象的扩展详解

概述

ES6 前,对象的属性名都是字符串。ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。ES6 引入了一种新的数据结构Map。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。ES6 引入了一种新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

属性名表示法

ES6允许字面量定义对象时,用表达式作为对象的属性名,即把表达式放在方括号内

const obj = {
  [name]: 'Tom',
  ['age']: 18
}

其中name变量和'age'字符串都被当作属性名,用方括号括起来。注意:表达式作为属性名时,要用到方括号。

方法的 name 属性

函数的name属性,返回该函数的函数名。对象方法也是函数,因此也有name属性。

const obj = {
  sayName() {
    console.log('My name is Tom')
  }
}

obj.sayName.name  // "sayName"

Object.assign()

Object.assign方法用于对象的合并,将源对象的所有可枚举属性,复制到目标对象。Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。

const obj1 = {
  name: 'Tom',
  age: 18
}
const obj2 = {
  gender: 'male',
  hometown: 'Beijing'
}
const obj3 = Object.assign({}, obj1, obj2)

console.log(obj3)
// {name: "Tom", age: 18, gender: "male", hometown: "Beijing"}

对象的扩展运算符

ES6 引入了对象扩展运算符(...)。它用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。

const obj1 = {
  name: 'Tom',
  age: 18
}
const obj2 = {
  gender: 'male',
  hometown: 'Beijing'
}
const obj3 = {
  ...obj1,
  ...obj2
}

console.log(obj3)
// {name: "Tom", age: 18, gender: "male", hometown: "Beijing"}

以上为ES6学习教程之对象的扩展详解完整攻略,其中包含了属性名表示法、方法的name属性、Object.assign()以及对象的扩展运算符的介绍和示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ES6学习教程之对象的扩展详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Element el-tag标签图文实例详解

    Element el-tag标签图文实例详解 简介 el-tag是基于Element UI框架下的标签组件,用于展示标签或标记并进行分类,常用于项目中的文章标签或商品类别标签等。 布局样式 通过样式控制可以实现不同样式的标签展示,包括标签颜色、大小、形状等。以下是一些常用的样式: 标签颜色:el-tag默认颜色为灰色,可以通过type属性设置标签的颜色,可选…

    JavaScript 2023年6月10日
    00
  • JavaScript方法和技巧大全

    JavaScript方法和技巧大全 JavaScript是现代Web开发必备的一种编程语言。在使用JavaScript进行Web开发时,我们经常会遇到各种各样的问题,如浏览器间兼容性、代码的性能优化等。本篇文章将介绍一些在日常开发中常用的JavaScript技巧和方法,帮助Web开发者更好地应对开发难题。 1. 使用对象解构进行变量赋值 对象解构可以帮助我们…

    JavaScript 2023年5月18日
    00
  • js Html结构转字符串形式显示代码

    下面我给您详细讲解一下如何将JS HTML结构转换成字符串形式显示代码的完整攻略。 一、概述 在前端开发中,我们经常需要将JS代码或HTML结构进行分享、展示,而将其转换为字符串形式展示,便于其他人查看和复制,这就需要使用到JS的一些方法。 二、常用方法 1. innerHTML innerHTML是JS中的一个属性,用于获取或设置元素的HTML内容,可以将…

    JavaScript 2023年5月19日
    00
  • JavaScript 声明私有变量的两种方式

    下面是JavaScript声明私有变量的两种方式的完整攻略。 声明私有变量的两种方式 在JavaScript中,私有变量是指只能在类或对象内部访问的变量。通常情况下,我们用闭包或Symbol来实现私有变量的声明。 1. 闭包实现私有变量 闭包是指一个函数返回另一个函数,这个被返回的函数可以访问原函数的内部变量。下面来看一个闭包实现私有变量的示例: funct…

    JavaScript 2023年6月10日
    00
  • 实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)

    实用的JS正则表达式 正则表达式是对字符串操作的一种极其强大的工具。在JavaScript中,正则表达式同样也是非常重要和常用的。本文将会讲解一些常用的正则表达式及其匹配规则。 1. 手机号正则表达式 手机号正则表达式的匹配规则如下: /^1[3456789]\d{9}$/ 其中: ^ 表示字符串开始位置; 1 表示以数字1开始; [3456789] 中括号…

    JavaScript 2023年5月19日
    00
  • 深入理解js generator数据类型

    深入理解JS Generator数据类型 什么是Generator? Generator是ES6引入的一种新的数据类型,它可以被认为是一种特殊的函数。Generator函数和普通函数的区别在于: Generator函数的执行结果是一个Iterator对象,而不是最终的返回值。 Generator函数可以通过yield语句来暂停或恢复函数的执行。 Genera…

    JavaScript 2023年5月27日
    00
  • 浅谈js函数中的实例对象、类对象、局部变量(局部函数)

    下面是我为你准备的关于“浅谈js函数中的实例对象、类对象、局部变量(局部函数)”的完整攻略。 什么是实例对象? 在 JavaScript 中,实例对象指使用 new 关键字创建的对象。当我们用构造函数创建一个新对象时,对象被实例化为该构造函数的一个实例。该实例对象从构造函数继承了属性和方法,可以独立地操作其属性和方法,而不会影响其他实例对象。 下面是一个示例…

    JavaScript 2023年5月27日
    00
  • 5个实用的JavaScript新特性

    5个实用的JavaScript新特性攻略 JavaScript是一种非常流行的编程语言,随着时代的发展,JavaScript也在不断发展,新的特性和语法不断涌现。在本篇攻略中,我们将探讨5个实用的JavaScript新特性,帮助你更好地掌握JavaScript的使用。 1. 可选链运算符 可选链运算符(Optional Chaining Operator)是…

    JavaScript 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部