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

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日

相关文章

  • js正则表达式之exec方法讲解

    下面是关于“js正则表达式之exec方法讲解”的完整攻略。 exec方法介绍 正则表达式是一个非常重要的知识点,使用正则表达式可以进行文本匹配和替换,exec() 是Regexp对象的一个方法,用于在字符串中执行正则表达式的搜索,并返回包含结果的数组。如果没有找到匹配,它将返回 null。 该方法的语法如下所示: regexp.exec(str) 其中 re…

    JavaScript 2023年6月10日
    00
  • js对象转json数组的简单实现案例

    下面将为您讲解如何实现“js对象转json数组”。 1. 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据格式,它可以用来表示复杂的数据结构,常用于web应用程序向服务器传输数据。JSON格式的数据是纯文本,可以很方便地被各种编程语言解析和生成。 2. js对象转json数组的简单实现 在JavaScript…

    JavaScript 2023年5月27日
    00
  • Javascript脚本实现静态网页加密实例代码

    为了让大家更好地理解 Javascript 脚本实现静态网页加密,这里给出一份完整的攻略,包含以下几个部分: 加密原理 加密的实现流程 实现代码及示例 加密原理 Javascript 加密所采用的原理是基于 Asymmetric Encryption (非对称加密)。所谓非对称加密,就是“有一对密钥,一个公钥,一个私钥”。公钥和私钥是一一对应的,公钥加密的数…

    JavaScript 2023年6月11日
    00
  • json字符串之间的相互转换示例代码

    下面是讲解“JSON字符串之间的相互转换示例代码”的完整攻略,包含两条示例说明。 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON格式采用键值对的方式来表示数据,方便数据的存储和传输。 如何将JSON字符串转换为JavaScript对象? 可以使用 JSON.parse() 方法将JSON…

    JavaScript 2023年5月27日
    00
  • js Event对象的5种坐标

    JS Event对象包含5种不同的坐标属性,它们可以用来描述事件的发生位置,这些坐标属性分别是: clientX和clientY pageX和pageY screenX和screenY offsetX和offsetY x和y 下面就逐一介绍这5种坐标属性的含义和使用方法: 1. clientX和clientY clientX和clientY属性用来获取事件的…

    JavaScript 2023年6月10日
    00
  • 一种新的日期处理方式之JavaScript Temporal API

    一、JavaScript Temporal API简介 JavaScript Temporal API是一个新的JavaScript API,它提供了一种新的日期和时间处理方式,用于简化处理日期、时间和时间间隔的操作。它的设计目标是提供一个简单易用的API,能够处理所有的日期和时间操作,包括处理时区、分别取年月日等操作。 二、安装JavaScript Tem…

    JavaScript 2023年6月10日
    00
  • 如何进行微信公众号开发的本地调试的方法

    如何进行微信公众号开发的本地调试 微信公众号开发的本地调试可以帮助开发人员在本地环境中快速进行代码调试和测试,从而加快开发效率。下面是进行微信公众号开发的本地调试的具体步骤。 步骤一:创建微信公众号开发者账号 首先需要在微信公众平台上注册一个开发者账号。注册成功后,可以创建一个微信公众号并获取到开发者ID和开发者密钥。 步骤二:下载安装微信公众号调试工具 可…

    JavaScript 2023年6月11日
    00
  • JS的框架Polymer中的dom-if和is属性使用说明

    Polymer是一个基于Web Components标准的JavaScript框架,它提供了一些常用的组件和工具,例如dom-if和is属性。 dom-if dom-if是Polymer中的一个条件渲染组件,它可以根据条件动态地显示或隐藏元素。我们可以使用dom-if元素包裹需要进行条件渲染的元素,并设置if属性来控制是否显示该元素。当if属性返回true时…

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