<!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="./dist/index.js"></script> </head> <body> Hello ECMA Script 6 </body> </html>
<script src="./dist/index.js"></script>
let a=1; console.log(a);
npm init -y
{ "name": "es6", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
npm install --save-dev babel-preset-es2015 babel-cli
html
"devDependencies": { "babel-cli": "^6.24.1", "babel-preset-es2015": "^6.24.1" }
{ "presets":[ "es2015" ], "plugins":[] }
babel src/index.js -o dist/index.js
{ "name": "es6", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "babel src/index.js -o dist/index.js" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "babel-cli": "^6.24.1", "babel-preset-es2015": "^6.24.1" } }
之前,为变量赋值,咱们只能直接指定值。好比下面的代码:vue
let a=0; let b=1; let c=2;
let [a,b,c]=[1,2,3];
let [a,[b,c],d]=[1,[2,3],4];
let [foo = true] =[]; console.log(foo); //控制台打印出true
let [a,b="JSPang"]=['技术胖'] console.log(a+b); //控制台显示“技术胖JSPang”
let [a,b="JSPang"]=['技术胖',undefined]; console.log(a+b); //控制台显示“技术胖JSPang”
let [a,b="JSPang"]=['技术胖',null]; console.log(a+b); //控制台显示“技术胖null”
let {foo,bar} = {foo:'JSPang',bar:'技术胖'}; console.log(foo+bar); //控制台打印出了“JSPang技术胖”
let foo; {foo} ={foo:'JSPang'}; console.log(foo);
let foo; ({foo} ={foo:'JSPang'}); console.log(foo); //控制台输出jspang
const [a,b,c,d,e,f]="JSPang"; console.log(a); console.log(b); console.log(c); console.log(d); console.log(e); console.log(f);
( 扩展运算符和rest参数)[http://www.jb51.net/article/118958.htm]webpack
...变量名
function sortNumbers1 () { return Array.prototype.slice.call(arguments).sort(); } const sortNumbers2 = (...values) =>{ return values.sort(); } console.log(sortNumbers1(9,2,5,1)); console.log(sortNumbers2(9,2,5,1));
- arguments 对象不是一个真实的数组;上文的``` Array.prototype.slice.call(arguments)```就是将 arguments 对象转化成一个真数组,而rest参数是真实的 Array 实例,也就是说你可以在它上面直接使用全部的数组方法
function f(a, ...b, c) { ... } // 报错
let jspang='技术胖'; let blog = '很是高兴你能看到这篇文章,我是你的老朋友'+jspang+'。这节课咱们学习字符串模版。'; document.write(blog);
let jspang='技术胖'; let blog = `很是高兴你能看到这篇文章,我是你的老朋友${jspang}。这节课咱们学习字符串模版。`; document.write(blog);
let a=1; let b=2; let result=`${a+b}`; document.write(result);
### ES6数字操做 #### 数字判断和转换 ##### 数字验证Number.isFinite( xx ) - 可使用Number.isFinite( )来进行数字验证,只要是数字,不管是浮点型仍是整形都会返回true,其余时候会返回false。
let a= 11/4;
console.log(Number.isFinite(a));//true
console.log(Number.isFinite('jspang'));//false
console.log(Number.isFinite(NaN));//false
console.log(Number.isFinite(undefined));//false
```es6
#### 判断是否为整数Number.isInteger(xx)
let a=123.1;
console.log(Number.isInteger(a)); //falseweb
#### 整数转换Number.parseInt(xxx)和浮点型转换Number.parseFloat(xxx)
let a='9.18';
console.log(Number.parseInt(a));
console.log(Number.parseFloat(a));
```npm