ES6学习

ES6学习笔记(一)

该学习笔记源于B站视频https://www.bilibili.com/video/av47304735?from=search&seid=16810589178466991647

一、var、let、const
1、var可以重新赋值和定义的,作用域:在函数中创建的只能在函数中使用,let和const属于块级作用域,块级:{}内。
2、const不能重新赋值和定义。如果const定义为一堆属性值的集合,则const属性值可以修改,就好比是一个人,这个人是不会变成另一个人,但他的年龄和性格是可以改变的。若想要属性也不能修改,可以使用Object.freeze()。
3、let可用于解决循环问题,如果循环中要获取块级中的数据而不是全局数据可以采用let。
4、在JS中存在变量提升,变量提升是指JS将声明移至作用域顶部的行为,所以在var color=“yellow”;之前console.log(color)会显示undefined。但是如果是let,let存在临时性死区,所以在声明之前console会报错referenceerror。
5、选择哪个用来声明变量呢?
默认使用const,当变量需要重新绑定或更新的时候使用let,尽量不使用var在ES6中,因为var可能会参生一些重复声明。

二、箭头函数
1、优点:a、简明语法
删掉function关键字,加上箭头,没有参数加括号,一个参数可选择,多个参数逗号分隔。
b、可以隐式返回
不需要加return
c、箭头函数都是匿名函数
如果要达到命名函数的效果,可以把箭头函数赋值给变量。
2、JS中的this值是在运行的时候才绑定,回调函数是一个独立的函数,一个函数是独立函数的时候,它不是作为对象或者方法调用,也没有通过call、bind来改变this值的话,那么这个独立函数里的this就会指向window或者global。使用箭头函数可以解决,因为箭头函数没有自己的this值,它的this值是继承父作用域的。
3、不宜使用箭头函数的情况:
a、箭头函数作为构造函数或者一个方法需要绑定到对象(构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中)。
b、当你真正需要this的时候。
c、需要使用arguments对象。

三、字符串模板
1、ES6中使用$()来定义字符串,组合变量和字符串时就不需要加号和单引号。
模板:

const template='
<div class="greet">
<p>hello</p>
</div>
'.trim();

trim()用来删除空格。
2、模板字符串可以嵌套。
3、标签模板字符串,对应JS中的一个函数名,第一个参数为模板字符串组成的数组,紧跟着的参数是字符串里面的变量,如果参数太多,可以用…values代替。
4、标签模板防止XSS攻击,先使用标签模板字符串处理用户的输入,对输入做出一定的净化,然后使用DOMPurify方法。
5、字符串方法
a、startsWith():大小写敏感
b、endsWith():大小写敏感
c、includes()
d、repeat()

ps:
1、JS中数组的reduce方法

arr.reduce(function(prev,cur,index,arr){
...
}, init);

或者

arr.reduce(function(prev,cur,index,arr){
...
},);

arr 表示将要原数组;
prev 表示上一次调用回调时的返回值,或者初始值 init;
cur 表示当前正在处理的数组元素;
index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
init 表示初始值。

常用的参数只有两个:prev 和 cur。

2、JS中map()函数用法
https://blog.csdn.net/qq_30835699/article/details/82149289

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值