ES6新增哪些属性
箭头函数和字符串插值
const get = (name) =>{
return 'hello ${name}'
}
也可以这样写
const greetings = name => 'hello ${name}'
const: 表示无法修改变量的原始值。需要注意的是,const表示对值的常量引用,咱们可以改变被引用的对象的属性值,但不能改变引用本身。
const NAMES = [];
NAMES.push("Jim");
console.log(NAMES.length === 1); // true
NAMES = ["Steve", "John"]; // error
块作用域: ES6 中 let, const 会创建块级作用域,不会像 var 声明变量一样会被提升。
默认参数: 默认参数使咱们可以使用默认值初始化函数。当参数省略或 undefined 时使用默认参数值。
function multiply (a, b = 2) {
return a * b;
}
multiply(5); // 10
类定义与继承: ES6 引入了对类(class关键字)、构造函数(constructor关键字)和 extend 关键字(用于继承)的语言支持。
for-of 运算符: for...of 语句创建一个遍历可迭代对象的循环。
展开操作符:
let arr = [
{name:"zhangsan",age:12},
{name:"lisi",age:13},
{name:"wangwu",age:14}
]
console.log(...arr)
//{name:"zhangsan",age:12}{name:"lisi",age:13}{name:"wangwu",age:14}
模块导出:
const module = {
x:1,
y:() => {
console.log('This is ES6')
}
}
export default module
模块导入:
import module from './module
什么是 IIFE (立即调用的函数表达式,它在创建后立即执行)
(function fun(){
console.log('This is ES6 IIFE')
})()
// This is ES6 IIFE
常常使用此模式来避免污染全局命名空间,因为在IIFE中使用的所有变量(与任何其他普通函数一样)在其作用域之外都是不可见的。