ES6 rest参数,扩展运算符,Symbol数据类型,迭代器和生成器 【详解加案例 】(二)(1)

2. 数组克隆

3. 将伪数组转化为真正的数组

Document

在这里插入图片描述

3. ES6 Symbol 数据类型

================================================================================

在ES6中,Symbol表示独一无二的值,也是ES6推出的第七种数据类型。Symbol和字符串不同!

3.1 Symbol两种创建方式


1. 直接Symbol() 来创建Symbol对象。这是通过调用函数来创建Symbol对象。

这里的两个张三是不同的!

2. 使用Symbol.for方法来创建Symbol对象。和上面不同这是通过函数对象来创建Symbol。

而使用Symbol.for创建的相同值,是一样的!!

3.2 Symbol注意事项 7个数据类型


注意:

Symbol定义的变量不能与其他数据进行运算。

7个数据类型:

记忆小技巧:

USONB (you are so niubility)

**u : undefined

s : String Symbol

o : Object

n : null number

b : boolean**

3.3 给对象,添加Symbol的两种属性


方式一:

向对象中添加另一个对象的属性值为Symbol的方法。

方式二:

直接使用[]添加Symbol的对象属性。

4. Symbol 内置属性

============================================================================

4.1 hasInstance 与 instanceof


instanceof的用途是判断一个对象是否在某个对象原型链上。或者说判断一个对象是某个对象的实例。

当其他对象使用instanceof运算符,判断是否为对象的实例时,会调用这个方法。

例如:

4.2 isConcatSpreadable 与 concat


对象的Symbol.isConcatSpreadable属性等于的是一个布尔值,表示该对象用于concat(Array.prototype.concat())时,是否展开。

4.3 其他Symbol的内置属性


在这里插入图片描述

在这里插入图片描述

这些属性都是Symbol的内置属性,而他们的整体来作为对象的属性去设置,来改变对象在特定场景下面的表现。

5. 迭代器

====================================================================

迭代器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。 任何数据结构只要部署了Iterator接口,就可以完成遍历操作。

在ES6中,一个新的遍历命令for … of循环,iterator接口主要供for … of 来使用。

以下的数据都可以使用for … of :

在这里插入图片描述

注意:

**for in 遍历的是键名。

for of 遍历的是键值。**

可以自己打印一下,查看Iterator的接口:

在这里插入图片描述

在这里插入图片描述

Iterator (迭代器)的工作原理:

在这里插入图片描述

关键是看next指针,我们可以打印第一个next指针看看。

在这里插入图片描述

6. 迭代器自定义遍历对象

===========================================================================

通过使用迭代器自定义遍历数据,自定义就是按照自己的想法来遍历对象或者对象内的数据。

例如:

Document

7. ES6 生成器(异步编程)

==============================================================================

7.1 生成器 简介


生成器其实就是一个特殊的函数,主要作用就是异步编程。

生成器,加上“ * ” 号。

调用next()方法来打印下面案例:

7.2 生成器 yield


yield可以算作是函数代码的分隔符。

也可以打印i.next()方法,来查看对象value和done的值。如下:

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
e.log(i.next());//执行一块领域

console.log(i.next());//执行二块领域

console.log(i.next());//执行三块领域

console.log(i.next());//执行四块领域

//也可以打印i.next()方法,来查看对象value和done的值。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-YSUxOTmK-1714853571459)]

[外链图片转存中…(img-ravQmoLE-1714853571460)]

[外链图片转存中…(img-AlJCxQ9q-1714853571460)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 30
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值