ES6編程風格

1塊級作用域
ES5只有全局和函數(shù)作用域。
let和const大溜。線程安全。
塊級作用域估脆,不能重復(fù)聲明钦奋。
長遠來看,JavaScript可能會有多線程的實現(xiàn)(比如Intel的River Trail那一類的項目)疙赠,這時let表示的變量付材,只應(yīng)出現(xiàn)在單線程運行的代碼中,不能是多線程共享的圃阳,這樣有利于保證線程安全厌衔。

2字符串
靜態(tài)字符串一律使用單引號或反引號,不使用雙引號捍岳。動態(tài)字符串使用反引號富寿。
var a='';或者var a=``;

3結(jié)構(gòu)賦值
const arr = [1, 2, 3, 4];
const [first, second] = arr;

4對象
單行定義的對象,最后一個成員不以逗號結(jié)尾锣夹。多行定義的對象页徐,最后一個成員以逗號結(jié)尾。
const a = { k1: v1, k2: v2 };
const b = {
k1: v1,
k2: v2,
};

5數(shù)組
拷貝數(shù)組:const itemsCopy = [...items];
轉(zhuǎn)為數(shù)組:使用Array.from方法银萍,將類似數(shù)組的對象轉(zhuǎn)為數(shù)組变勇。
const foo = document.querySelectorAll('.foo');const nodes = Array.from(foo);

6函數(shù)
簡單的、單行的砖顷、不會復(fù)用的函數(shù)贰锁,建議采用箭頭函數(shù)。
例如:立即執(zhí)行的匿名函數(shù)
(() => { console.log('Welcome to the Internet.');})();
箭頭函數(shù)取代Function.prototype.bind滤蝠,不應(yīng)再用self/_this/that綁定 this豌熄。
const boundMethod = (...params) => method.apply(this, params);
arguments是一個類似數(shù)組的對象,而rest運算符可以提供一個真正的數(shù)組物咳。

7map結(jié)構(gòu)
注意區(qū)分Object和Map锣险,只有模擬現(xiàn)實世界的實體對象時,才使用Object览闰。如果只是需要key: value的數(shù)據(jù)結(jié)構(gòu)芯肤,使用Map結(jié)構(gòu)。因為Map有內(nèi)建的遍歷機制压鉴。

8class
總是用Class崖咨,取代需要prototype的操作。因為Class的寫法更簡潔油吭,更易于理解击蹲。
// goodclass Queue { constructor(contents = []) { this._queue = [...contents]; } pop() { const value = this._queue[0]; this._queue.splice(0, 1); return value; }}
使用extends實現(xiàn)繼承署拟,因為這樣更簡單,不會有破壞instanceof運算的危險歌豺。
class PeekableQueue extends Queue { peek() { return this._queue[0]; }}
9模塊
//引入
首先推穷,Module語法是JavaScript模塊的標準寫法,堅持使用這種寫法类咧。使用import取代require馒铃。
import myObject from './importModule';
import { func1, func2 } from 'moduleA';
//暴露
使用export取代module.exports。
// ES6的寫法import React from 'react';const Breadcrumbs = React.createClass({ render() { return <nav />; }});export default Breadcrumbs
如果模塊只有一個輸出值痕惋,就使用export default区宇,如果模塊有多個輸出值,就不使用export default值戳,不要export default與普通的export同時使用萧锉。
如果模塊默認輸出一個函數(shù),函數(shù)名的首字母應(yīng)該小寫述寡。
如果模塊默認輸出一個對象,對象名的首字母應(yīng)該大寫叶洞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲫凶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子衩辟,更是在濱河造成了極大的恐慌螟炫,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艺晴,死亡現(xiàn)場離奇詭異昼钻,居然都是意外死亡,警方通過查閱死者的電腦和手機封寞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門然评,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人狈究,你說我怎么就攤上這事碗淌。” “怎么了抖锥?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵亿眠,是天一觀的道長。 經(jīng)常有香客問我磅废,道長纳像,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任拯勉,我火速辦了婚禮竟趾,結(jié)果婚禮上憔购,老公的妹妹穿的比我還像新娘。我一直安慰自己潭兽,他們只是感情好倦始,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著山卦,像睡著了一般鞋邑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上账蓉,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天枚碗,我揣著相機與錄音,去河邊找鬼铸本。 笑死肮雨,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的箱玷。 我是一名探鬼主播怨规,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锡足!你這毒婦竟也來了波丰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤舶得,失蹤者是張志新(化名)和其女友劉穎掰烟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沐批,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡纫骑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了九孩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片先馆。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖捻撑,靈堂內(nèi)的尸體忽然破棺而出磨隘,到底是詐尸還是另有隱情,我是刑警寧澤顾患,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布番捂,位于F島的核電站,受9級特大地震影響江解,放射性物質(zhì)發(fā)生泄漏设预。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一犁河、第九天 我趴在偏房一處隱蔽的房頂上張望鳖枕。 院中可真熱鬧魄梯,春花似錦、人聲如沸宾符。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魏烫。三九已至辣苏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哄褒,已是汗流浹背稀蟋。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呐赡,地道東北人退客。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像链嘀,于是被迫代替她去往敵國和親萌狂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. 塊級作用域 (1)使用let 取代 var ES6提出了兩個新的聲明變量的命令:let和const怀泊。其中粥脚,l...
    guwenmei閱讀 478評論 1 1
  • 2016年國慶假期終于把此書過完,整理筆記和體會于此冤留。 關(guān)于書名 書名源于俄羅斯的演員斯坦尼斯拉夫斯基創(chuàng)作的《演員...
    李劍飛的簡書閱讀 7,220評論 2 65
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理碧囊,服務(wù)發(fā)現(xiàn),斷路器纤怒,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 更合理的方式寫 JavaScript 原文看 這里 糯而,收錄在此為便于查閱。 類型 1.1 基本類型:直接存取泊窘。字符...
    殺破狼real閱讀 8,807評論 0 6
  • [TOC] 參考阮一峰的ECMAScript 6 入門參考深入淺出ES6 let和const let和const都...
    郭子web閱讀 1,771評論 0 1