自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ES6 中 module 備忘清單,你可能知道 module 還可以這樣用!

開(kāi)發(fā) 前端
假設(shè)你欠朋友一些錢(qián)。你的朋友說(shuō)可以用現(xiàn)金或電子轉(zhuǎn)帳的方式還錢(qián)。通過(guò)電子轉(zhuǎn)帳付款就像named export一樣,因?yàn)槟愕男彰迅郊釉诮灰字小?/div>

[[332939]]

這是一份備忘單,展示了不同的導(dǎo)出方式和相應(yīng)的導(dǎo)入方式。它實(shí)際上可分為3種類(lèi)型:名稱(chēng),默認(rèn)值和列表 👍

  1. // 命名導(dǎo)入/導(dǎo)出  
  2. export const name = 'value' 
  3. import { name } from '...' 
  4.  
  5. // 默認(rèn)導(dǎo)出/導(dǎo)入 
  6. export default 'value' 
  7. import anyName from '...' 
  8.  
  9. // 重命名導(dǎo)入/導(dǎo)出  
  10. export { name as newName } 
  11. import { newName } from '...' 
  12.  
  13. // 命名 + 默認(rèn) | Import All 
  14. export const name = 'value' 
  15. export default 'value' 
  16. import * as anyName from '...' 
  17.  
  18. // 導(dǎo)出列表 + 重命名 
  19. export { 
  20.   name1, 
  21.   name2 as newName2 
  22. import { 
  23.   name1 as newName1, 
  24.   newName2 
  25. from '...' 

接下來(lái),我們來(lái)一個(gè)一個(gè)的看🤓

命名方式

這里的關(guān)鍵是要有一個(gè)name。

  1. export const name = 'value'
  2. import { name } from 'some-path/file'
  3.  
  4. console.log(name); // 'value' 

默認(rèn)方式

使用默認(rèn)導(dǎo)出,不需要任何名稱(chēng),所以我們可以隨便命名它👏

  1. export default 'value' 
  2. import anyName from 'some-path/file' 
  3.  
  4. console.log(anyName) // 'value' 

默認(rèn)方式不用變量名

  1. export default const name = 'value';   
  2. // 不要試圖給我起個(gè)名字! 

命名方式 和 默認(rèn)方式 一起使用命名方式 和 默認(rèn)方式 可以同個(gè)文件中一起使用🤝

  1. eport const name = 'value' 
  2. eport default 'value' 
  3. import anyName, { name } from 'some-path/file' 

導(dǎo)出列表

第三種方式是導(dǎo)出列表(多個(gè))

  1. const name1 = 'value1' 
  2. const name2 = 'value2' 
  3.  
  4. export { 
  5.   name1, 
  6.   name2 
  7. import {name1, name2 } from 'some-path/file' 
  8.  
  9. console.log( 
  10.   name1,  // 'value1'  
  11.   name2,  // 'value2'  

需要注意的重要一點(diǎn)是,這些列表不是對(duì)象。它看起來(lái)像對(duì)象,但事實(shí)并非如此。我第一次學(xué)習(xí)模塊時(shí),我也產(chǎn)生了這種困惑。真相是它不是一個(gè)對(duì)象,它是一個(gè)導(dǎo)出列表

  1. // ❌ Export list ≠ Object 
  2. export { 
  3.   name'name' 

重命名的導(dǎo)出

對(duì)導(dǎo)出名稱(chēng)不滿(mǎn)意?問(wèn)題不大,可以使用as關(guān)鍵字將其重命名。

  1. const name = 'value' 
  2.  
  3. export { 
  4.   name as newName 
  5. import { newName } from 'some-path/file' 
  6.  
  7. console.log(newName); // 'value' 
  8.  
  9. // 原始名稱(chēng)不可訪問(wèn) 
  10. console.log(name); // ❌ undefined 

不能將內(nèi)聯(lián)導(dǎo)出與導(dǎo)出列表一起使用

  1. export const name = 'value' 
  2.  
  3. // 你已經(jīng)在導(dǎo)出 name ☝️,請(qǐng)勿再導(dǎo)出我 
  4. export { 
  5.   name 

重命名導(dǎo)入

同樣的規(guī)則也適用于導(dǎo)入,我們可以使用as關(guān)鍵字重命名它。

  1. const name1 = 'value1' 
  2. const name2 = 'value2' 
  3.  
  4. export { 
  5.   name1, 
  6.   name2 as newName2 
  7. import { 
  8.   name1 as newName1, 
  9.   newName2 
  10. from '...' 
  11.  
  12. console.log(newName1); // 'value1' 
  13. console.log(newName2); // 'value2' 
  14.  
  15. ❌ 
  16. name1; // undefined 
  17. name2; // undefined 

導(dǎo)入全部

  1. export const name = 'value' 
  2.  
  3. export default 'defaultValue' 
  4. import * as anyName from 'some-path/file' 
  5.  
  6. console.log(anyName.name); // 'value' 
  7. console.log(anyName.default); // 'defaultValue' 

命名方式 vs 默認(rèn)方式

是否應(yīng)該使用默認(rèn)導(dǎo)出一直存在很多爭(zhēng)論。查看這2篇文章。

  • Why I've stopped exporting defaults from my JavaScript modules
  • GitLab RFC by Thomas Randolph

就像任何事情一樣,答案沒(méi)有對(duì)錯(cuò)之分。正確的方式永遠(yuǎn)是對(duì)你和你的團(tuán)隊(duì)最好的方式。

命名與默認(rèn)導(dǎo)出的非開(kāi)發(fā)術(shù)語(yǔ)

假設(shè)你欠朋友一些錢(qián)。你的朋友說(shuō)可以用現(xiàn)金或電子轉(zhuǎn)帳的方式還錢(qián)。通過(guò)電子轉(zhuǎn)帳付款就像named export一樣,因?yàn)槟愕男彰迅郊釉诮灰字?。因此,如果你的朋友健忘,并開(kāi)始叫你還錢(qián),說(shuō)他沒(méi)收到錢(qián)。這里,你就可以簡(jiǎn)單地向他們顯示轉(zhuǎn)帳證明,因?yàn)槟愕拿衷诟犊钪?。但是,如果你用現(xiàn)金償還了朋友的錢(qián)(就像default export一樣),則沒(méi)有證據(jù)。他們可以說(shuō)當(dāng)時(shí)的 100 塊是來(lái)自小紅?,F(xiàn)金上沒(méi)有名稱(chēng),因此他們可以說(shuō)是你本人或者是任何人😵

那么采用電子轉(zhuǎn)帳(named export)還是現(xiàn)金(default export)更好?

這取決于你是否信任的朋友🤔, 實(shí)際上,這不是解決這一難題的正確方法。更好的解決方案是不要將你的關(guān)系置于該位置,以免冒險(xiǎn)危及友誼,最好還是相互坦誠(chéng)。是的,這個(gè)想法也適用于你選擇named export還是default export。最終還是取決你們的團(tuán)隊(duì)決定,哪種方式對(duì)團(tuán)隊(duì)比較友好,就選擇哪種,畢竟不是你自己一個(gè)人在戰(zhàn)斗,而是一個(gè)團(tuán)體😄

作者:Samantha Ming 譯者:前端小智 來(lái)源:medium

 

原文:https://puppet.com/docs/puppet/latest/cheatsheet_module.html

本文轉(zhuǎn)載自微信公眾號(hào)「大遷世界」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系大遷世界公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 大遷世界
相關(guān)推薦

2022-09-26 07:32:24

開(kāi)發(fā)接口編程

2021-02-01 13:35:28

微信Python技巧

2022-07-26 09:02:15

ES6ES13ECMAScript

2012-10-12 10:13:26

eclips代碼編寫(xiě)Editplus

2020-08-24 07:19:13

主鍵自增數(shù)據(jù)庫(kù)

2021-03-03 08:05:53

C++項(xiàng)目函數(shù)

2020-07-16 08:32:16

JavaScript語(yǔ)言語(yǔ)句

2024-01-08 16:27:59

ES6函數(shù)

2024-08-06 09:51:21

SpringHTTPJSON

2022-08-02 10:01:34

Import語(yǔ)句ES模塊

2023-12-11 13:57:00

RFM模型激勵(lì)機(jī)制

2018-05-11 10:15:09

區(qū)塊鏈數(shù)字貨幣比特幣

2022-07-30 23:45:09

內(nèi)存泄漏檢測(cè)工具工具

2024-06-13 08:19:08

Controller接口參數(shù)

2023-07-03 16:49:47

5G

2022-05-17 07:26:33

動(dòng)畫(huà)CSS前端

2025-03-31 09:00:00

2013-09-18 10:44:01

搜狗輸入法詞語(yǔ)

2020-01-03 10:11:01

數(shù)據(jù)庫(kù)安全SQL

2011-06-16 12:08:55

筆記本體驗(yàn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)