es6学习笔记
let:
1. 变量不能重复声明
let star = 'A';
let star = 'B';
2. 块儿级作用域 全局, 函数, eval
if else while for
{
let girl = 'A';
}
console.log(girl);
3. 不存在变量提升
console.log(song);
let song = 'song';
4. 不影响作用域链
const:
声明常量
const SCHOOL = 'school';
1. 一定要赋初始值
const A;
2. 一般常量使用大写(潜规则)
const a = 100;
3. 常量的值不能修改
SCHOOL = 'ATGUIGU';
4. 块儿级作用域
{
const PLAYER = 'UZI';
}
console.log(PLAYER);
5. 对于数组和对象的元素修改, 不算做对常量的修改, 不会报错
const TEAM = ['UZI','MXLG','Ming','Letme'];
TEAM.push('Meiko');
箭头函数:
ES6 允许使用「箭头」(=>)定义函数。
声明一个函数
let fn = function(){
}
let fn = (a,b) => {
return a + b;
}
调用函数
let result = fn(1, 2);
console.log(result);
1. this 是静态的. this 始终指向函数声明时所在作用域下的 this 的值
直接调用
getName();
getName2();
call 方法调用
getName.call(school);
getName2.call(school);
2. 不能作为构造实例化对象
let Person = (name, age) => {
this.name = name;
this.age = age;
}
let me = new Person('xiao',30);
console.log(me);
3. 不能使用 arguments 变量
let fn = () => {
console.log(arguments);
}
fn(1,2,3);
4. 箭头函数的简写
1) 省略小括号, 当形参有且只有一个的时候
let add = n => {
return n + n;
}
console.log(add(9));
2) 省略花括号, 当代码体只有一条语句的时候, 此时 return 必须省略
而且语句的执行结果就是函数的返回值
let pow = n => n * n;
console.log(pow(8));
解构赋值:
ES6 允许按照一定模式从数组和对象中提取值,对变量进行赋值,
这被称为解构赋值。
1. 数组的结构
const F4 = ['小沈阳','刘能','赵四','宋小宝'];
let [xiao, liu, zhao, song] = F4;
console.log(xiao);
console.log(liu);
console.log(zhao);
console.log(song);
2. 对象的解构
const zhao = {
name: '赵本山',
age: '不详',
xiaopin: function(){
console.log("我可以演小品");
}
};

浙公网安备 33010602011771号