2019-07-25 ESMAscript6语法学习笔记


1.let和const变量声明

var的缺点: 

1.变量可以重复声明 var a=1; var a=5; 输出a=5.

2.无法限制修改,即无法声明常量

3.没有块级作用域,{},var是function scope,如果不是在函数中声明,var变量可以全局使用。

let、const不能重复声明,let为变量数值可以改变,const为常量数值不能改变。const、let有块级作用域。

2.箭头函数

如果只有一个参数,()可以省略

如果语句只有一个return,{}可以省略

3.参数

参数展开(rest参数):...args,收集剩余的参数,

展开数组(展开后的数组和将数组内容展开后效果一样): let arr = [1,2,3]  ...arr = 1,2,3 

注意rest不能赋值,比如 a=...arr,这是错误的

4.解构赋值

注意:1.左右两边解构必须一样 2.右边的是个合法的声明 3.声明和赋值不能分开

let arr = [1,2,3];

let [a,b,c] = arr;

let {a,b,c} = {a:1,b:2,c:3};

5.数组

常用方法map、reduce、filter、forEach

map映射:

一对一的返回结果

let arr=[1,2,3]; arr.map(item=>return item*2);

let score=[10,20,30]; let result=score.map(item=>item>=20?'及格':'不及格')

reduce:汇总  一堆出来一个

let arr=[1,2,3];

arr.reduce((temp,item,index)=>{return temp+item;}) 求和

filter:过滤 符合要求返回true选项的保留

let arr=[1,2,3];

arr.filter((item)=>{return item%2==0})

forEach:迭代,循环遍历每一项

let arr=[1,2,3];

arr.forEach((item){alert(item)});

6.字符串

startsWith(),endsWith()方法

字符串模板:`hello`

let a = 12; let a = `${a}34` 妙啊!!!

7.面向对象

class User{

constructor(name,pass){

  this.name = name;

  this.pass = pass;

}

showName(){

alert(this,name)

}

showPass(){

alert(this.pass)

}

}

let user = new User('hello','world');

user.showName();

user.showPass();

8.json


JSON对象:JSON.stringify()字符串化,JSON.parse(),json化。


json对象属性使用双引号包裹,属性如果为字符串,需要使用双引号包裹。


json key与值相同,可以省略写一个

json属性为方法,省略function,比如:show: function(){}  ->  show(){}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容