类必须使用new调用,否则会报错。这是它跟普通构造函数的一个主要区别,后者不用new也可以执行

发布时间 2023-11-14 18:54:25作者: 龙陌

以下符合 ES6 写法的有:()

A
class Foo { constructor() {return Object.create(null);} } Foo()

B
var m=1; export m;

C
export var firstName=’Michael’;

D
在A模块中export{readFile}后,在B模块中import readFile from ‘A’可以获取到readFile

正确答案:C

A、Fun() 把 class 当成方法来用? var fun = new Func() 这样用就对了

B、export 后面变量没加括号;

D、import readFile 没加括号,是导入 default 的用法,但是前面不是 export 为 default

参照 export 和 import 用法:
1、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
2、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

A:类必须使用new调用,否则会报错。这是它跟普通构造函数的一个主要区别,后者不用new也可以执行。

B:export命令规定的是对外的接口,必须与模块内部的变量建立一一对应关系。
// 报错
export 1;
// 报错
var m = 1;
export m;
上面两种写法都会报错,因为没有提供对外的接口。第一种写法直接输出 1,第二种写法通过变量m,还是直接输出 1。1只是一个值,不是接口。正确的写法是下面这样。
// 写法一
export var m = 1;
// 写法二
var m = 1;
export {m};
// 写法三
var n = 1;
export {n as m};

即 **导出变量,要么是对变量加{},要么导出整个表达式 **

D:A模块对外暴露了一个对象,引入的时候需要使用解构赋值

import {readFile} from ‘A'