ES6(对象,数组,类型化数组)

news/2024/7/10 23:53:05 标签: es6, javascript, 开发语言

对象

1,Object.is

用于判断两个值是否相等, 其内部实现类SameValue算法, 其行为类似于“=
但与“
=”不同的是 它认为两个NaN是相等的 而+0,-0是不相等的

2,Object.assign

表示此方法可以将对象合并成一个 他的第一个参数是目标对象 剩余的参数都是源对象 返回值是最后的目标对象
特点:
只能复制可枚举的自有属性 不能无法复制继承的属性 和 不可枚举的属性

javascript"> var obj1 = { name: '123' }
 var obj2 = Object.create( obj1 )
 
 obj2.age = 2
 Object.assign({}, obj2)
// 其结果为{ age: 2}

遇到同名的属性, 后面的会覆盖前面的值
Object.assign() 方法是进行的浅拷贝 对于属性值为对象 只能对其指针的地址进行复制
Symbol()对象也会复制
当源对象的位置 是基本数据类型的时候 会将其包装成对象 像是undefined与null没有相应对象 就会被包装成字符串类型。

数组

1,静态方法 Array.of()

一个静态方法of(), 用于创建数组,可以接收任意个参数,返回值是由这些参数组成的一个新数组。

javascript">Array.of(2) // [2]
Array(2) //[,]

2,静态方法 Array.from()

可以将类数组对象和可迭代对象转换成数组, 可以接收3 个参数
第一个参数:待转换对象
第二个参数:回调函数 可选
第三个参数: 执行回调函数所绑定的this对象 可选

javascript">var obj = { 0: 1, 1: 2, 2: 3,length: 3} // 类数组对象
Array.from(obj) // [1,2,3] 

// 使用回调函数
Array.from(obj, function(value, index){
	return value * 2
})

3, fill(), copywithin()

javascript">fill(填充的值,开始的索引值,结束填充的位置)
copyWithin( 开始执行复制的位置,复制序列的起始位置,复制序列的结束位置)

注意点:

  • 不仅修改原数组, 还会覆盖指定 范围内的元素
  • 复制或者填充执行的都是浅复制
  • 当方法中的索引参数是负数的时候 会先和数组的长度相加,再计算出最终的索引。
  • 保持数组的长度不变 在数组末尾停止复制或者填充
javascript">var arr1 = [1,2,3,4,5]
var arr2 = [ 1, 2, 3, 4, 5]
arr1.fill(6, 0, 2) // [6, 6, 3, 4, 5]
arr2.copyWithin(2,0,2) // [1,2,1,2,5]

4, find() , findIndex()

这两个方法都可以接收两个参数
第一个是回调函数,其中有三个参数:当前元素,元素索引,原始数组
第二个是回调函数绑定的this对象

当匹配失败时, find() 返回的undefined
findIndex()返回的是-1

javascript">arr.find(function(value, index){
 return value ==="1"
})

5, keys(), values(), entries()

这三个是迭代器方法 都返回一个可迭代对象

javascript">var arr = ["a","b","c"]
[...arr.keys()] // [0,1,2]
[...arr.values()] // ["a","b","c"]
[...arr.enties()] // [[0,"a"],[1,"b"],[2,"c"]]

http://www.niftyadmin.cn/n/356628.html

相关文章

Android进阶 View事件体系(一):概要介绍和实现View的滑动

Android进阶 View事件体系(一):概要介绍和实现View的滑动 内容概要 本篇文章为总结View事件体系的第一篇文章,将介绍的内容主要有: 什么是View和ViewGroupAndroid中View的坐标轴手势检测和速度检测如何实现View的滑动…

使用决策树模型Titanic数据集预测

数据准备 可以通过以下链接获取数据集: 百度网盘 请输入提取码 共包含三个csv文件: 《train.csv》训练数据集,包含特征信息和标签(是否幸存) 《test.csv》 测试数据集, 只包含特征信息 《gender_submission.csv》测试数据集…

使用AES算法加密技术集成Java和Vue保护您的数据,代码示例和算法原理

1 算法的原理: AES是一种对称加密算法,也就是说加密和解密使用的是同一个密钥。其基本原理是将明文分成固定大小的块(128位),然后使用密钥对每个块进行加密操作,最后生成密文。在加密过程中,还需要使用一个向量(IV)来增加安全性,避免相同的明文块生成相同的密文块。…

Git常用命令remote和branch和checkout

Git常用命令remote和branch和checkout 1、remote 用于在远程仓库的操作。 # 显示所有远程仓库 $ git remote # 此命令可显示更详细信息 $ git remote -v # 例子 $ git remote origin$ git remote -v origin https://gitee.com/zsx242030/um.git (fetch) origin https://gi…

揭秘数据传输中常用的加密算法及其优缺点

本文介绍了常见的数据加密算法,包括AES、RSA、DES、3DES和Blowfish。对每种算法的原理、应用场景、优点和缺点进行了详细的介绍。读者可以根据实际需求选择合适的加密算法以提高数据的安全性。 1. 高级加密标准(Advanced Encryption Standard, AES) 原理:AES是一种对称加…

2020下半年上午题

2020下半年 d a b 小阶向大阶对齐 b b 平均cpi: MIPS: d c 公加验,私解签 加密防止被动攻击,认证防止主动攻击 a 访问控制包括:授权,确定存取权限,实施存取权限 c a c a 先申请先得 b b 著作权包括&…

Python基础教程:第八章_Python文件操作

文件的编码 学习目标 掌握文件编码的概念和常见编码 思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢? 答案:使用编码技术(密码本)将内…

关于字符集

字符集 编码与解码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数…