Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以枚举JavaScript模块的导出吗?_Javascript_Ecmascript 6 - Fatal编程技术网

我可以枚举JavaScript模块的导出吗?

我可以枚举JavaScript模块的导出吗?,javascript,ecmascript-6,Javascript,Ecmascript 6,在下面的例子中,values是file-2.js中的普通对象吗 // file-1.js export { FOO, BAR } from '~/my-values'; // file-2.js import * as values from '~/file-1'; // what is `values` here? an object instance? 我问这个问题是因为我想使用类似于值的东西。hasOwnProperty('FOO')和rollup引发了以下错误: '

在下面的例子中,
values
file-2.js
中的普通对象吗

// file-1.js
export {
    FOO,
    BAR
} from '~/my-values';

// file-2.js
import * as values from '~/file-1';

// what is `values` here? an object instance?
我问这个问题是因为我想使用类似于
值的东西。hasOwnProperty('FOO')
和rollup引发了以下错误:

'hasOwnProperty' is not exported by 'file-1.js'

附带问题:是否有一种使用导入和导出关键字测试代码的方便方法?据我所知,Chrome开发工具在代码片段中不支持它们。

假设X.js如下:

export const t = 0;
export const t2 = 4;
export default w = -1;
var w3 = -9;
当您从X导入*作为Y时

基本上,您可以从该文件获得所有导出,并通过调用X.somevar来获得这些导出。 例如:

var t = X.t; // local t will be equal 0.
如果不导出,就无法从X文件中获取变量(因为它们是本地设置的)

您还可以像这样导入上述代码,例如,通过获取所需的值

import {t} from X.js
var local_t = t; // local_t is set to 3
导出默认值意味着,如果您导入文件时没有说明with const或*,您将获得默认的导出值。 例如:

import something from X.js;
var _local = something; //_local equals -1

希望能有所帮助。

假设X.js如下所示:

export const t = 0;
export const t2 = 4;
export default w = -1;
var w3 = -9;
当您从X导入*作为Y时

基本上,您可以从该文件获得所有导出,并通过调用X.somevar来获得这些导出。 例如:

var t = X.t; // local t will be equal 0.
如果不导出,就无法从X文件中获取变量(因为它们是本地设置的)

您还可以像这样导入上述代码,例如,通过获取所需的值

import {t} from X.js
var local_t = t; // local_t is set to 3
导出默认值意味着,如果您导入文件时没有说明with const或*,您将获得默认的导出值。 例如:

import something from X.js;
var _local = something; //_local equals -1
希望有帮助。

这些都是。它们具有异国情调意味着它们不是完全正常的对象(它们有不同的内部结构)

它们的原型链上也没有
对象.prototype
,因此您不能使用
hasOwnProperty
,但您应该能够将其与
函数.prototype.call一起使用,因为它们有用于

您还可以使用
Reflect.has

Reflect.has(values, 'FOO');
另外,由于原型为
null
,您也可以在
中使用

'FOO' in values
它们是。它们是奇异的意味着它们不是完全正常的对象(它们有不同的内部结构)

它们的原型链上也没有
对象.prototype
,因此您不能使用
hasOwnProperty
,但您应该能够将其与
函数.prototype.call一起使用,因为它们有用于

您还可以使用
Reflect.has

Reflect.has(values, 'FOO');
另外,由于原型为
null
,您也可以在
中使用

'FOO' in values

谢谢。我可以列举模块的属性(“导出”)吗?我想使用类似于
module.hasOwnProperty('moduleName');
谢谢。我可以列举模块的属性(“导出”)吗?我想使用类似于
module.hasOwnProperty('moduleName');