前端测试题: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、导入不存在的变量,程序会抛出异常