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 //当这个对象的属性值发生变化的时候同时也会修改变量的值

​ }

})

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6