ES6新增方法

ES6新增方法

变量声明

let
1.局部变量,只能在局部调用
2.不能重复声明
3.不会提升变量 console.log(a); let a; const
1.声明一个常量
2.声明必须赋值
3.不能被修改
4.变量名建议大写,如: const PI = 3.14

变量类型

数据类型
1.数字: number
2.字符串: String
3.布尔类型: true 和 false
4.未定义: undefined 引用类型
1.数组: array
2.对象: object
3.空: null
4.函数 : function
5.集合: Set
6.键值对: Map

结构

数组

1默认 [a,b] = [100,900] 2交互变量 [a,b] = [b,a]
3.忽略 [a,b] = [1,3,5]
4.剩余值 [a,…rest] = [4,6,8,10]
5.默认值 [a,b=25] = [8]
6.复制(浅拷贝) var arr = [1,3,5] var arr2 = […arr]

对象

顺序结构: var str = {name:‘苏苏未苏苏’,age:18,sex:‘男’} var {name,age}=str
剩余值: {name,…rest} = obj 默认值: {name = ‘哈喽’} = obj 复制: let obj2 =
{…obj}

字符串

let [a,b,c,d] = “郑州奇酷” a 郑

数组高阶方法

filter 过滤 返回一个新数组 如果返回true,当前元素被保留, 否则被过滤
forEach 遍历 遍历数组
map 映射
返回和原数据一一对应的新数组 reduce 累计 a,b两个参数,a是上一次返回的结果
every 判断条件,若都满足条件返回true,否者返回false
some 判断条件,若其中之一满足 条件,返回true,否则返回false
重复使用repeat

箭头函数

参数 => 函数体 =>前 函数的参数 =>后 函数的执行语句 var arr1 = [‘我’,‘爱’,‘J’,‘S’];
arr1.forEach(item=>console.log(item)); 如果有多个参数,用()包起来 var arr =
[1,2,3,4]; var ret = arr.reduce((a,b)=>a*2+b); console.log(ret);
函数体只有一句,执行的结果就是返回值 多条语句用{}包裹,return返回 如果return对象: return({})
箭头函数的this指向上一层作用域中的 this对象

set

new Set([])去重
size 长度
add() 添加
delete() 删除
clear() 清空
for of 变量
has() 检测是否含有 特点,不重复 特点: 1.有序
2.key可以是任意值

map

特点:
1.有序
2.key可以是任意值 new Map([k,v],[])
size 长度
set(k,v) 设置
get (k) 获取
has() 检测是否含有
clear() 清除
for of 遍历

apply

执行函数,对象冒充,参数数组 function add(x,y){ console.log(this,x+y) }
add.apply({name:“mumu”},[3,7]) {name:“mumu”},10

call

执行函数,对象冒充,参数1个 add.apply({name:“mumu”},3,7) {name:“mumu”,10}

bind

创建函数,对象冒充,参数默认值
var nadd = add.bind({name:“zql”},5)
nadd(10)
输出结果:{name:“zql”},15

定义 class Cat{ constructor(){} }
初始化类 new Cat()
继承 class Cat extends Animal{}
方法 brak(){}
属性 this.name = “西”
访问控制 set Age(val){} get Age(){}
调用父类构造函数 super()
静态方法 static sayLog(){} Cat.sayLog()
静态属性 static num = 0; Cat.num



(未完待续)

你可能感兴趣的:(ES6,es6/es7)