这是我参与「第五届青训营 」伴学笔记创作活动的第 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);