es6语法
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
ES6语法
let关键字
js中使用的var等会有作用域提升这对于语言来说不够规范不够可预测性。
let新增的语法当前作用域才生效没有作用域提升和其他编程语言作用域一样。
const关键字
const用来声明常量和let关键字一样拥有当前作用域有效。
const声明的常量不能进行修改。
解构赋值
从对应数组中提取值按照对应位置对应的变量进行赋值对象也可以进行解构
例如let [a,b,c] = [1,2,3];
那么123就分别对应变量abc进行赋值。
如果多余的变量没有对应的值那么值为undefined。
对对象进行解构
例如let [name,age] = {name:“小明”age=20}
同样是一一对应进行赋值。
如果不想使用对象属性名称作为变量名可以起别名
例如let [name:na,age:ag] = {name:“小明”age=20}
:右侧的变量名就是起别名之后的变量名。
箭头函数
箭头函数是用来简化函数定义的也就类似于lambda表达式
const fn = => {console.log(1)} 只有一行的可以省略{}
const fn = n1,n2=> n1+n2 返回值是n1+n2
默认返回的最后一行
箭头函数没有this默认指向通常来说就是谁调用指向的就是谁
如果箭头函数定义的变量没有作用域那么使用的就是全局作用域的变量指向的就是window
剩余参数
调用定义的方法时候如果想要定义接收任意参数那么可以使用…xx作为可变参数通过…进行拆分会拆分为以逗号分隔的零散值
例如const fn = …args=> {console.log(args)} args就包含传入的所有参数以数组进行存储
使用解构赋值的时候可以和剩余参数一起使用接收参数
例如let [s1,…s2] = [1,2,3,4] s2将会接收剩余的所有参数同样以数组进行存储
数组的扩展方法
使用三个点…来进行对数组的拆解成一个一个的参数
例如let arr = [1,2,3,4]
console.log(…arr) // log方法可以接收多个参数用分开使用…扩展方法会把数组拆解成一个一个元素
可用于数组合并
例如let arrAll = […arr1,…arr2]
使用arr1.push…arr2方法可以合并两个数组
…扩展运算符可以把伪数组转换成真正的数组
例如[…arr]
通过Array.from(伪数组)可以把伪数组转换成真正的数组
from方法还可以传入函数设定一个形参相当于遍历了每个元素进行函数操作再转换成数组
find方法
用于找出第一个符合条件的数组成员如果没有找到返回undefined
参数传递一个方法两个形参一个item一个index
findIndex方法和find方法一样返回的是第一个找到的索引没找到返回-1
includes方法
判断数组是否包含某个元素
模板字符串
使用反引号包裹的就是模板字符串模板字符串里的字符串保留格式
使用${}包裹的里面可以调用方法或者使用变量等。
字符串方法
startsWith和endsWith方法
判断字符串是否以某字符串开头或者结尾
repeat方法
传入数字指重复字符串的次数作用是重复字符串n次
Set数据结构
值都是唯一的
创建方式
例子 new Set
new Set[123] // 初始化
方法
.add()添加值
.delete(元素)删除元素
.has(元素) 返回布尔值判断是否有这个元素
.clear()清空所有的值
Object.defineProperty方法
vue双向绑定原理
Object.defineProperty(对象,‘属性名’{
value12
enumerabletrue//控制是否可以被枚举循环遍历到
writabletrue //控制属性是否可以被修改默认不可修改
configurabletrue //控制属性是否可以被删除
getfunction{
return 变量 //每次进行访问这个设置的属性的时候就会调用这个getting方法
}
setvalue{
变量=value //当这个对象的属性值发生变化的时候同时也会修改变量的值
}
})