国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript6里出現(xiàn)了哪些新語法、新特征?

瀏覽:71日期:2023-11-18 13:17:09

新版本 javascript6/ECMAScript2015 在去年出來了,我們現(xiàn)在普遍使用的javascript 5是在2009年出來的,相隔這么多年,變化比較大,添加了一些很好用的特性。

JavaScript6里出現(xiàn)了哪些新語法、新特征?

下面就看幾個簡單而實(shí)用的小特性:

 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、參數(shù)默認(rèn)值

想給參數(shù)設(shè)置默認(rèn)值時,需要我們手工處理,例如

function (width, height) {var height = height || 300;var width = width || 600;...}

ES6可以直接指定默認(rèn)值

function (width=600, height=300) {...} 4、解構(gòu)賦值

例如有一個json對象

var data = {name:'dys', age:1};

想取得name,age屬性的話,需要分別獲取

var name = data.name;var age = data.age;

ES6可以自動獲取并賦值

var {name, age} = data;

這幾個示例只是比較簡單的語法方面的便利特性,ES6還有一些比較深入的改進(jìn),例如

箭頭函數(shù)、Promises、Classes ……

如何使用ES6

ES6是個新東西,兼容性還是個大問題,直接使用肯定是不可行了

還好,已經(jīng)有了ES6的代碼轉(zhuǎn)換器,可以把ES6的代碼轉(zhuǎn)為ES5的代碼(例如 babel),可以讓我們使用ES6,又不擔(dān)心兼容問題

我還沒實(shí)際應(yīng)用,不知道實(shí)際兼容效果是否有那么好

babel的官網(wǎng) https://babeljs.io/

babel 示例

babel有g(shù)ulp插件,下面是個簡單的ES6代碼轉(zhuǎn)換示例

(1)安裝環(huán)境

需要你的機(jī)器上已經(jīng)裝了nodejs、gulp

然后安裝babel客戶端

$ npm install -g babel-cli

在項(xiàng)目目錄下安裝相關(guān)插件

$ 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(bǔ).js編譯并輸出到dist目錄下

(3)執(zhí)行編譯

在項(xiàng)目目錄中執(zhí)行

$ gulp

執(zhí)行結(jié)束后,到dist目錄下查看編譯后的a.js

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 青神县| 玉屏| 灵川县| 吐鲁番市| 临漳县| 读书| 德庆县| 兴海县| 阿坝县| 钦州市| 武陟县| 夏邑县| 青神县| 郧西县| 泰州市| 宿州市| 启东市| 吉林省| 夏邑县| 大名县| 八宿县| 松溪县| 禄丰县| 辽阳市| 洛川县| 即墨市| 江华| 邵武市| 聂荣县| 牙克石市| 蓬溪县| 澜沧| 山西省| 扬州市| 原阳县| 玛多县| 浏阳市| 阿克| 海口市| 南靖县| 遂溪县|