- 機構級別:普通會員
- 信用等級:
資料認證
未通過身份證認證
未通過辦學許可認證
- 學校瀏覽人次:次
- 加盟時間:2017年03月10日
西安尚學堂:JavaScript 6中出現的新特性
JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基于原型的語言,在web開發中普遍使用的javascript中的第5版。對于這一個版本的特性我們可以說是了解的很透徹,那么對于2015年出現的javascript 6(/ECMAScript2015)你又了解多少呢?在這篇文章中,西安尚學堂小編就給大家分享幾個簡單的JavaScript 6 中的新語法,新特性。
1、模板文本
需要在字符串中加入變量時,通常做法就是使用字符串拼接,如
var param = 'b'; var str = 'a ' + param + ' c';
ES6中簡單了,可以直接在字符串中添加變量
var str = `a ${param} c`;
注意,使用的是反引號 “,而不是 ”
2、多行字符串
例如想定義一個html代碼片段,放在一行很難看,想用多行,還得用字符串拼接
var html = '<div>' + '<span>test</span>' + '</div>';
一堆加號和引號,很麻煩
ES6中的反引號就能簡單的解決
var html = `<div> <span>test</span> </div>`;
非常清晰,里面還可以直接加變量,很方便
3、參數默認值
想給參數設置默認值時,需要我們手工處理,例如
function (width, height) { var height = height || 300; var width = width || 600; ... }
ES6可以直接指定默認值
function (width=600, height=300) { ... }
4、解構賦值
例如有一個json對象
var data = {name:'dys', age:1};
想取得name,age屬性的話,需要分別獲取
var name = data.name; var age = data.age;
ES6可以自動獲取并賦值
var {name, age} = data;
這幾個示例只是比較簡單的語法方面的便利特性,ES6還有一些比較深入的改進,例如:箭頭函數、Promises、Classes ……
如何使用ES6
ES6中,兼容性還是個大問題,直接使用肯定是不可行了。還好,有ES6的代碼轉換器,可以把ES6的代碼轉為ES5的代碼(例如 babel),可以讓我們使用ES6,又不擔心兼容問題
babel 示例
babel有gulp插件,下面是個簡單的ES6代碼轉換示例
(1)安裝環境
需要你的機器上已經裝了nodejs、gulp
然后安裝babel客戶端
$ npm install -g babel-cli
在項目目錄下安裝相關插件
$ npm install gulp $ npm install --save-dev gulp-babel $ npm install --save-dev babel-preset-es2015
(2)測試腳本
用ES6方式寫一個測試 a.js
var str = `hi ${name}`;
編寫 gulpfile.js
var gulp = require("gulp"); var babel = require("gulp-babel"); gulp.task("default", function () { return gulp.src("a.js") .pipe(babel({presets: ['es2015']})) .pipe(gulp.dest("dist")); });
這個腳本的意思是使用babel把a.js編譯并輸出到dist目錄下
(3)執行編譯
在項目目錄中執行
$ gulp
執行結束后,到dist目錄下查看編譯后的a.js