ES6知识点

变量的区别

var   全局作用域和函数作用域  会变量提升

let   局部作用域  不会变量提升  不能重复声明 

可以把let看成var,.只是它定义的变量被限定在了特定范围内才能使用,而离开这个范围则无效。

const  值类型不能修改  声明必须赋值  一般大写 

ES6中,const声明的常量类似于指针,它指向某个引用,也就是说这个「常量」并非一成不变的,如:

 

解构

数组:

定义 :  把数组或对象解析为单独变量

1.基本格式    var [a,b,c="default",...rest]=arr

2.逗号代表下一位

3....rest剩余的所有(只能放在最后)

4.可以有默认值

5.交换变量[a,b]=[b,a]

对象:

var {name,age,say="love",...rest}=obj

对象解构没有顺序

自动解析数组或对象中的值。比如若一个函数要返回多个值,常规的做法是返回一个对象,将每个值做为这个对象的属性返回。但在ES6中,利用解构这一特性,可以直接返回一个数组,然后数组中的值会自动被解析到对应接收该值的变量中
var [x.yl-getVal()  //函数返回值的解构

function getVal0 {
return [ 1,2 ];
}
console.log('x:'+X+', y:'+y);//输出: x:1, y:2

[name,,age]-['wayou','male','secrect'];//数组解构长度为三中间键值为空console.log('name'+name+', age:'+age);//输出: name:wayou, age:secrect

展开

...arr  arr展开为单独变量

字符串

字符串模板

`${js变量}`
可以换行,可以加特殊符号

遍历
for of

检测
includes(sub)是否包含
startWith(sub)以开头
endsWith(sub)以结尾

 {
 let str = "string";
  console.log('includes',str.includes("c"));
 console.log('start',str.startsWith('str'));
  console.log('end',str.endWith('ng'));

}

去空白(好像是es5的)
trim()去掉两端空白
trimLeft()去掉左边空白
trimRight()去掉右边空白

var str="  我爱我的祖国  ";
console.log(str.trim());
console.log(str.trimLeft());
console.log(str.trimRight());

重复
repeate(n)字符串重复n次

{
   	let str = "abc";
   	console.log(str.repeat(3));
   }

填充
”22“.padStart(4,”0“) //开头
“0022”
.padend(长度,填充字符串)//结尾

{
   	console.log('1'.padStart(4,'0'));
   	console.log('1'.padEnd(2,'0'))
   }

数组高阶方法

forEach  遍历

arr.forEach(function(item,index,self){})
//item 当前遍历的元素
//index 当前元素的下标
//self  当前数组

map  映射

arr.map(function(item,index,self){
//返回一个,映射数组
})

filter  过滤

arr.map(function(item,index,self){
//返回真,当前遍历元素保留
//返回假,当前变量的元素过滤掉
})

reduce  累计

arr.reduce(function(a,b){
//a是上一次返回的结果
})

some  有一个返回结果为true最终结果为true

every  每个返回结果为true最终结果为true

find 查找符合条件的元素

findIndex  查找符合条件的元素下标

箭头函数

01 箭头函数省略function
02 =>左边参数
03 箭头右边,函数体,返回值
04 传参0个或者两个以上 参数加上括号
05 如果函数体有多行需要加上{} 如果需要返回值return
06 如果返回的是一个对象则用()包裹对象({})
07 箭头函数this 指向上一层作用域的this

函数

默认参数 function fn(a=10,b=20){}

调用:扩展参  fn(...arr)

定义:不定参    function(...args){}

对象

1.对象简写 

变量和值简写

函数function简写 

var name=“mumu”
var obj={
name,
say(){alert(this.name)}
}

2.对象动态属性  {[nick+"msg"]:"你好呀"}

面向对象基本特点:封装;继承;多态;接口
extends继承
constructor构造函数
super 超类
static 静态

定义类 类方法

class Person{
constructor(name,age)
this.name=name;
this.age=age;
}
say(){
alert("你好")
}
}

实例化类  var pl=new Person()

类中的this  Person类中的this指向,当前类的实例(pl)

继承  

class Teach extends Person{
  constructor{name,age,major){
super();
this.major=major;
}
}

模块 module

导入

import{name,fun,Square}from'./api.js'

import Square form'./api.js'
import S form'./api.js'

导出

export{name,fun,Square}  导入多次

export default Square  默认只能导出一次

Set

定义  没有重复元素的集合(数组)

//初始化
var s1=new Set()
var s2=new Set([1,2,5])

添加:s1.add()

删除:s1.delete()

情况:s1.clear()

检测:s1.has()

长度:s1.size

转数组   array.from(s1)  [...s1]

数组去重  arr=[...new Set(arr)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值