为什么`throw`运算符使用下划线导出

时间:2017-07-20 06:43:51

标签: javascript rxjs

我通常使用不带Observable的静态创建运算符,如下所示:

import { of } from 'rxjs/observable/of';

const o = of(1, 2, 3);

这是可能的,因为rxjs包分别导出每个运算符:

import { ArrayObservable } from './ArrayObservable';
export declare const of: typeof ArrayObservable.of;

但是,throw运算符使用和下划线导出:

import { ErrorObservable } from './ErrorObservable';
export declare const _throw: typeof ErrorObservable.create;

所以我必须像这样引用它:

import { _throw } from 'rxjs/observable/throw';

const o = _throw(new Error('some error data'));

任何人都可以解释原因吗?

由于

1 个答案:

答案 0 :(得分:4)

throwreserved keyword,就像returniffor一样。您不能将变量或函数命名为此类名称。

相关问题