ES6学习|青训营笔记

80 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天

学习笔记

ES6的学习

2015年6月,ECMAScript 6,也就是 ECMAScript 2015 发布了。 并且从 ECMAScript 6 开始,开始采用年号来做版本。即 ECMAScript 2015,就是ECMAScript6。

新增加特性

let

在此之前只有一个关键字:var,但var定义的变量有作用域混乱的问题。var定义的变量为全局变量,使用let可以避免这样的问题。

//循环外不可以打印
for (let i=0; i<10; i++) {
	console.log('循环内: ' + i);
}
console.log('循环外: ' + i);

//循环外可以打印
for (var i=0; i<10; i++) {
	console.log('循环内: ' + i);
}
console.log('循环外: ' + i);

const

声明常量,声明之后不可以改变,但对象和数组等里面的内容可以改变。

字符串扩展

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
  • 模板字符串 形式:${}
let name = '张三';
let msg = `hello ${name},
how are you?`;
console.log(msg);

解构表达式

数组结构和对象结构,代码:

let arr = [1,2,3]
let [x,y,z] = arr;// x、y、z将与arr中的每个位置对应来取值
console.log(x,y,z);


//对象
let person = {
    name:"张三",
    age:18,
    hobby: ['唱歌','足球','钢琴']
}
// 解构表达式获取值,如过要用其它变量接收,需要额外指定别名
let {name:userName,age,hobby} = person;
console.log(userName);
console.log(age);
console.log(hobby);

函数优化

函数参数默认值:

function sum(a , b = 1) {// 如果b值未传入则会使用默认值
    return a + b;
}

箭头函数:

根据传入参数的不同,有多种写法。

//一个参数
var print = obj => console.log(obj);
print('hello es');


//多个参数
var sum = (a,b) => {
	return a+b;
}
console.log(sum(3,5));

对象里的方法简写:

let person = {
    name: "zhangsan",
    test(score){
        console.log(this.name + "成绩:" + score);
    }
}
person.test(98);

数组的新方法