ES6带来的改变
语法
let和const命令
相比传统的定义方式var,增加了let变量,和const常量
区别在于:
let和const解决变量穿透问题
var用于全局变量
let用于局部变量
const用于不可修改的常量
模版字符串
由于字符串会牵扯到动态部分(动态拼接)问题
在ES6语法则是把变量部分添加"${变量字符串}",相比较于直接添加变量会更规范.
var address = "某某地方";
let Myaddress = "我居住在"+address;
修改:
let Myaddress = "我居住在"${address};
函数默认参数与箭头机制
如名函数的参数首先有一个默认值
funcaction sum(a = 10,b = 20){
return a + b;
}
var result = sum();
console.log("result:"result);
箭头函数机制:
//原来函数定义
var sum = funcaction(a = 10,b = 20){
return a + b;
}
//ES6定义
var sum = (a,b) =>{
return a + b;
}
或者:var sum = (a,b) =>a + b;
修改方式: 去掉function和在小括号后面加箭头,若是函数只有一句return ;那么还可以省略大括号和return.
对象初始化简写
//after
var person = {
name:xx,
age:12,
hobby:xx
sleep:funcation(){
console.log("I am sleeping");
}
//today
var person = {
name:xx,
age:12,
hobby:xx
sleep(){
console.log("I am sleeping");
}
}
如果属性是方法那么可以直接去除":function"
对象解构
ES6中提供了快速获取属性和方法的一种方式
var info = {
title:xxx,
link:xxx
}
//now
var {title,link} = info;
//before
var title = info.title;
var link = info.link
传播操作符
数组map和reduce
数组提供一种方法支持实现循环访问数组中的每一个值,同时能对这个值进行操作,这个方法就是map.
let list = [1,2,2,4];
let newlist = [];
newlist = list.map(function(ele){
return ele*2;
});
//===>可以得到newlist是list2倍的数组
//简化后
newlist = list.map((ele)=>ele*2);
NPM(node package manager)
1.快速构建一个Node工程
cmd: npm init
2.下载第三方模块xxx
cmd : npm install xxx
安装模块会放入到项目的node_modules文件夹中,
同时此模块被记录在package.json文件中,类似与maven中的pom.xml文件,作用是重复使用
3.使用模块
Js文件中 const module = require(“xxxmodule”);
4.运行node工程
cmd: node xxx.js
5.卸载模块: npm uninstall xxx