成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ES6的7個實用技巧

CastlePeaK / 2569人閱讀

摘要:交換元素利用數(shù)組解構(gòu)來實現(xiàn)值的互換調(diào)試我們經(jīng)常使用來進(jìn)行調(diào)試,試試也無妨。提供了完整的環(huán)境,并且支持自定義域名指向,動態(tài)計算資源調(diào)整,可以完成各種應(yīng)用的開發(fā)編譯與部署。

7 Hacks for ES6 Developers
Hack #1 交換元素

利用數(shù)組解構(gòu)來實現(xiàn)值的互換

let a = "world", b = "hello"
[a, b] = [b, a]
console.log(a) // -> hello
console.log(b) // -> world
Hack #2 調(diào)試

我們經(jīng)常使用console.log()來進(jìn)行調(diào)試,試試console.table()也無妨。

const a = 5, b = 6, c = 7
console.log({ a, b, c });
console.table({a, b, c, m: {name: "xixi", age: 27}});
Hack #3 單條語句

ES6時代,操作數(shù)組的語句將會更加的緊湊

// 尋找數(shù)組中的最大值
const max = (arr) => Math.max(...arr);
max([123, 321, 32]) // outputs: 321
// 計算數(shù)組的總和
const sum = (arr) => arr.reduce((a, b) => (a + b), 0)
sum([1, 2, 3, 4]) // output: 10
Hack #4 數(shù)組拼接

展開運算符可以取代concat的地位了

const one = ["a", "b", "c"]
const two = ["d", "e", "f"]
const three = ["g", "h", "i"]

const result = [...one, ...two, ...three]
Hack #5 制作副本

我們可以很容易的實現(xiàn)數(shù)組和對象的淺拷貝拷貝

const obj = { ...oldObj }
const arr = [ ...oldArr ]

拷貝 = 深拷貝 ? 淺拷貝 ?
好像有些朋友對這里我說的淺拷貝有些質(zhì)疑,我也能理解大家所說的。下面數(shù)組為例:

// 數(shù)組元素為簡單數(shù)據(jù)類型非引用類型
const arr = [1, 2, 3, 4];
const newArr = [...arr];
// 數(shù)組元素為引用類型
const person01 = {name: "name01", age: 1};
const person02 = {name: "name01", age: 2};
const person03 = {name: "name03", age: 3};

const arr = [person01, person02, person03];
const newArr = [...arr];
console.log(newArr[0] === person01);
// true

第二個 demo 就是我想表達(dá)的淺拷貝,若有不同意見歡迎討論~

Hack #6 命名參數(shù)???

解構(gòu)使得函數(shù)聲明和函數(shù)的調(diào)用更加可讀

// 我們嘗嘗使用的寫法
const getStuffNotBad = (id, force, verbose) => {
  ...do stuff
}
// 當(dāng)我們調(diào)用函數(shù)時, 明天再看,尼瑪 150是啥,true是啥
getStuffNotBad(150, true, true)

// 看完本文你啥都可以忘記, 希望夠記住下面的就可以了
const getStuffAwesome = ({id, name, force, verbose}) => {
  ...do stuff
}
// 完美
getStuffAwesome({ id: 150, force: true, verbose: true })
Hack #7 Async/Await結(jié)合數(shù)組解構(gòu)

數(shù)組解構(gòu)非常贊!結(jié)合Promise.all解構(gòu)await會使代碼變得更加的簡潔

const [user, account] = await Promise.all([
  fetch("/user"),
  fetch("/account")
])
課程推薦

徹底掌握 JS 異步處理 Promise 和 Async-Await

【開發(fā)環(huán)境推薦】Cloud Studio 是基于瀏覽器的集成式開發(fā)環(huán)境,支持絕大部分編程語言,包括 HTML5、PHP、Python、Java、Ruby、C/C++、.NET 小程序等等,無需下載安裝程序,一鍵切換開發(fā)環(huán)境。 Cloud Studio提供了完整的 Linux 環(huán)境,并且支持自定義域名指向,動態(tài)計算資源調(diào)整,可以完成各種應(yīng)用的開發(fā)編譯與部署。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92543.html

相關(guān)文章

  • 7javascript實用技巧

    摘要:每種編程語言都有一些黑魔法或者說小技巧,也不例外,大部分是借助或者瀏覽器新特性實現(xiàn)。下面介紹的個實用小技巧,相信其中有些你一定用過。當(dāng)然不管語言如何變化,我們總能在編程中總結(jié)一些小技巧來精簡代碼。 showImg(https://segmentfault.com/img/remote/1460000018902642); 每種編程語言都有一些黑魔法或者說小技巧,JS也不例外,大部分是借...

    tinysun1234 評論0 收藏0
  • es6 7比較有用技巧

    摘要:數(shù)組去重數(shù)組和布爾有時我們需要過濾數(shù)組中值為的值例如你可能不知道這樣的技巧是不是很簡單只需要傳入一個函數(shù)即可創(chuàng)建一個空對象有時我們需要創(chuàng)建一個純凈的對象不包含什么原型鏈等等一般創(chuàng)建空對象最直接方式通過字面量但這個對象中依然存在屬性來指向等等 數(shù)組去重 var arr = [1, 2, 3, 3, 4]; console.log(...new Set(arr)) >> [1, 2, 3,...

    Apollo 評論0 收藏0
  • es6 7比較有用技巧

    摘要:數(shù)組去重數(shù)組和布爾有時我們需要過濾數(shù)組中值為的值例如你可能不知道這樣的技巧是不是很簡單只需要傳入一個函數(shù)即可創(chuàng)建一個空對象有時我們需要創(chuàng)建一個純凈的對象不包含什么原型鏈等等一般創(chuàng)建空對象最直接方式通過字面量但這個對象中依然存在屬性來指向等等 數(shù)組去重 var arr = [1, 2, 3, 3, 4]; console.log(...new Set(arr)) >> [1, 2, 3,...

    junbaor 評論0 收藏0
  • ES6 Javascript 實用開發(fā)技巧

    摘要:定義變量常量中新增加了和兩個命令,用于定義變量,用于定義常量。 定義變量/常量 ES6 中新增加了 let 和 const 兩個命令,let 用于定義變量,const 用于定義常量。兩個命令與原有的 var 命令所不同的地方在于,let, const 都是塊級作用域,其有效范圍僅在代碼塊中,實例如下: //es5 if(1 == 1){ var b = foo; } conso...

    iamyoung001 評論0 收藏0
  • ES6 javascript 實用開發(fā)技巧

    摘要:實用開發(fā)技巧本文只羅列出在開發(fā)過程中相對實用的內(nèi)容,并非一個高大全的文檔,如果希望查閱詳細(xì)的內(nèi)容,可購買阮一峰老師所出版的相關(guān)圖書。 Javascript - ES6 javascript 實用開發(fā)技巧 本文只羅列出在 ES6 開發(fā)過程中相對實用的內(nèi)容,并非一個高大全的文檔,如果希望查閱詳細(xì)的內(nèi)容,可購買阮一峰老師所出版的 ES6 相關(guān)圖書。另外阮一峰老師《ECMAScript 6 入...

    DobbyKim 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<