ES6学习笔记一

本文是ES6学习笔记,涵盖了let和const的使用区别、解构赋值、Map与Set的特点、字符串新方法、对象与数组的新特性以及箭头函数的定义方式。详细介绍了每个特性在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.ES6背景简介----建议百度

2.ES6新增--let

1.let声明的变量不能不能重复声明,只能声明一次。

2.如果在一个代码块里面用let声明变量,则let会临时的生成一个代码块的作用域,在这个作用域空间外面不能访问用let声明的变量,这个作用域空间只针对let,不影响用var声明的变量

3.用let声明的变量没有提升这一说法,必须先声明再使用。

3.ES6新增--const

1.const声明变量必须初始化,且初始化的值无法改变。将相当于定义了一个常量,类比于C语言中的define。

2.const如果再代码块中声明,则也会形成将该代码块形成一个作用域空间,const也必须先声明再使用,没有提升的说法。

4.解构赋值

解构赋值右边为:解构的源

解构赋值左边为:解构的目标

解构赋值中,如果右边没有值,而左边的变量有值,那么打印结果为左边的值,如果两边都有值,则优先将左边的值赋值给变量。

5.Map

Map是一个类似于对象的数据容器。容器里面保存的是键值对:key=>value形式,可以通过key取到value,并且再Map中key不能重复,如果重复,那么覆盖之前的值。

1.Map遍历--for....of    forEach

2.Map 与 Array的转换--var myMap = new Map(kvArray);

                                   --var outArray = Array.from(myMap);

3.Map复制,只会复制里面的值,但是不相等,因为Map 对象构造函数生成实例,迭代出新的对象。

6.Set

Set相当于一个集合,可以存入任何类型的值,但是这些值都是唯一的,没有重复的值

1.Set的转换--var myArray = [...mySet];--将Set对象转换为数组

                   --Set对象不能转换成字符串

2.Set作用--数组去重

7.ES6新增字符串方法

includes():返回布尔值,判断是否找到参数字符串

startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。

endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。

        以上三个方法都可以接受两个参数,需要搜索的字符串,和可选的搜索起始位置索引

repeat():返回新的字符串,表示将字符串重复指定次数返回。

padStart:返回新的字符串,表示用参数字符串从头部补全原字符串

padEnd:返回新的字符串,表示用参数字符串从尾部补全原字符串。

8.ES6中对象

1.对象中的属性名可以直接写变量,则表示属性名就是变量名,属性值就是变量值。

2.对象中的方法也可以简写直接写方法名+()+{}

3.对象中属性名可以用表达式表示,但是要用中括号将表达式括起来。

ps:属性的简洁表示法和属性名表达式不能同时使用,否则会报错。

4.对象拓展运算符:...三个点,作用:复制对象值;合并两个对象

5.对象新方法:Object.is()--与全等(===)类似

        与===的区别:用is方法判断+0不等于-0,而===判断+0等于-0

                                用is方法判断NaN等于本身,而===判断NaN不等于本身

9.ES6中数组

1.数组的方法:

        Array.of():将参数中所有值作为元素形成数组。

        Array.from():将类数组对象或可迭代对象转化为数组。

        find():查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。

        findIndex():查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。

        fill():将一定范围索引的数组元素内容填充为单个指定的值。

        entrys():遍历键值对

        keys():遍历键名

        values():遍历键值

        includes():返回布尔值,判断数组是否包含指定值。

        flat() :将嵌套数组降维

        (...)扩展运算符:复制数组--合并数组

ES5中的数组方法:

unshift():头部新增,返回新增之后长度,改变数组内部元素

shift():头部删除,返回值是删除的那一项元素,改变数组内部元素

delete  可以删除数组某一项下标(对象属性),删除完数组长度不变,值消失变为undefined

查找: indexOf()--返回数组中第一个目标元素索引;lastIndexOf()--返回数组中最后一个目标元素索引

join()和toString():将数组转换为字符串

concat():将两个数组拼接为一个新数组,不改变原数组。

splice():截取一个数组的子集创建一个新数组,原数组改变

slice():截取一个数组的子集创建一个新数组,原数组不改变

        ps:splice()第二个参数是截取长度;slice()第二个参数是截取结束位置元素索引

push():在数组的结尾添加一个或多个元素,返回新数组的长度,原数组改变

pop():移除数组最后一个元素,返回移除的元素,原数组改变;

reverse():将数组中元素的顺序进行逆转,原数组改变

sort():将数组中元素进行排序,默认按照字符编码的顺序进行排序。

        sort()方法要使用其他标准进行排序的话,则需要提供比较函数。该函数要比较两个值,然后返回一个用于 说明这两个值的相对顺序的数字

迭代器方法:

forEach() :对数组中的每一项运行给定函数,没有返回值,它和使用for循环的结果相同

some():遍历数组,遇到符合返回值的返回true,并立即停止,不会生成新数组 也不会改变原数组

every():就是遍历数组,遇到与返回值不符合的就返回false,并立即停止,不会生成新数组 也不会改变原数组

map():先创建一个和原数组长度相同的数组,然后遍历原数组,将遍历原数组所有元素后的结果全部放到新数组里面,产生新数组,不改变原数组

filter():遍历数组,然后将符合返回值的元素拿出来重新组合成一个数组,产生新数组,不改变原数组

reduce():将数组中的元素进行累加或者累乘,返回最后累加和或者累乘积

        ps:累加起始值赋值为0,累乘起始值赋值为1

Array.isArray():判断是否是数组

10.箭头函数

定义方式:参数 => 函数体
                 (参数) => {函数体}

1.箭头的前面是小括号,放形参,只有一个形参的时候可以省略小括号

2.箭头的后面是函数体 ,如果函数体只有一个语句,没有{},此时的返回值不需要return;

ps:1.箭头函数没有this对象,若需要找this,则忽略箭头函数,找距离this最近的function或者方法,调用它们的就是this,若没有则为全局。

        2.箭头函数不可以作为构造函数,也就是不能使用 new 命令,否则会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值