前端測試題:module模組中的注意事項,下列說法錯誤的?
- 2020 年 4 月 7 日
- 筆記


考核內容:module模組的使用方式
題發散度: ★★
試題難度: ★
解題思路:
關於ES6的module模組,詳見以下鏈接
前端測試題:關於ES6的module模組,下列說法錯誤的是?
import命令輸入的變數都是只讀的,因為它的本質是輸入介面。也就是說,不允許在載入模組的腳本裡面,改寫介面。
import {a} from './xxx.js' a = {}; // Syntax Error : 'a' is read-only;上面程式碼中,腳本載入了變數a,對其重新賦值就會報錯,因為a是一個只讀的介面。但是,如果a是一個對象,改寫a的屬性是允許的。
import {a} from './xxx.js' a.foo = 'es6'; // 合法操作上面程式碼中,a的屬性可以成功改寫,並且其他模組也可以讀到改寫後的值。不過,這種寫法很難查錯,建議凡是輸入的變數,都當作完全只讀,不要輕易改變它的屬性。
導入不存在的變數,程式不會拋出異常,只是值為undefined。
參考程式碼:
- m1.js

- egimport.js

答案:
C、導入不存在的變數,程式會拋出異常
