stage-0 && stage-1 && stage-2

stage-0

包含stage-1、stage-2、stage-3的所有功能,同時(shí)還支持如下2個(gè)插件

transform-do-expressions (方便在jsx寫(xiě)if/else表達(dá)式)
transform-function-bind (https://www.npmjs.com/package/babel-plugin-transform-function-bind)

//transform-function-bind
const { map, filter } = Array.prototype;
let sslUrls = document.querySelectorAll('a')
                ::map(node => node.href)
                ::filter(href => href.substring(0, 5) === 'https');
console.log(sslUrls);

//轉(zhuǎn)換為
const { map, filter } = Array.prototype;
let sslUrls = document.querySelectorAll('a');
sslUrls = map.call(sslUrls, node => node.href);
sslUrls = filter.call(sslUrls, href => href.substring(0, 5) === 'https');
console.log(sslUrls);
$('.some-link').on('click', ::view.reset);
//轉(zhuǎn)換為
$('.some-link').on('click', view.reset.bind(view));

//via CLI
//babel --plugins transform-function-bind script.js

//via node
require("babel-core").transform("code", {
  plugins: ["transform-function-bind"]
});

stage-1

包含stage-2、stage-3的所有功能,同時(shí)還支持如下4個(gè)插件

transform-class-constructor-call (棄用)
transform-class-properties
transform-export-extensions

stage-2

包含stage-3的所有功能,同時(shí)還支持如下2個(gè)插件

syntax-trailing-function-commas(尾逗號(hào)函數(shù))
transform-object-reset-spread(對(duì) ES6中解構(gòu)賦值的一個(gè)擴(kuò)展,因?yàn)镋S6只支持對(duì)數(shù)組的解構(gòu)賦值,對(duì)對(duì)象是不支持的)

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
console.log(x); // 1
console.log(y); // 2
console.log(z); // { a: 3, b: 4 }

// 屬性展開(kāi)
let n = { x, y, ...z };
console.log(n); // { x: 1, y: 2, a: 3, b: 4 }

stage-3

支持了async & await,包含2個(gè)插件

transform-async-to-generator
transform-exponentiation-operator(算是一個(gè)語(yǔ)法糖,可以通過(guò)**這個(gè)符號(hào)來(lái)進(jìn)行冪操作,想當(dāng)于Math.pow(a,b))

// x ** y

let squared = 2 ** 2;
// 相當(dāng)于: 2 * 2

let cubed = 2 ** 3;
// 相當(dāng)于: 2 * 2 * 2


// x **= y

let a = 2;
a **= 2;
// 相當(dāng)于: a = a * a;

let b = 3;
b **= 3;
// 相當(dāng)于: b = b * b * b;

總結(jié):一般設(shè)置stage-0即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容