最近我一直在研究ES6,这导致我经常使用Babel.作为一个好奇的类型,我开始查看Babel Github存储库,了解他们如何构建这个很棒的工具,并知道我是否可以以某种方式做出贡献.
但是,我遇到了这个文件,它有类似的东西declare class BabelNodeSourceLocation {}写在它上面,文件以.js结尾.
这让我很困惑,我现在想知道JavaScript中是否有一个我不知道的声明关键字,或者这只是一个特定于Babel的语法?我的所有Google搜索都没有结果.
更新: 将代码放入Babel REPL中没有任何结果.Babel只是忽略了代码并且没有产生任何等效的ES5输出.它也没有抛出任何错误.
我有以下功能:
async function get<U>(url: string): Promise<U> {
return getUrl<u>(url);
}
Run Code Online (Sandbox Code Playgroud)
但是,可以像这样调用它(U由TS设置为任何):
get('/user-url');
Run Code Online (Sandbox Code Playgroud)
有没有办法定义这个函数,以便它需要显式提供U,如
get<User>('/user-url');
Run Code Online (Sandbox Code Playgroud) 我有这个简单的测试文件:
describe('index', () => {
it('should bootstrap the app', async () => {
const root = <div />;
jest.spyOn(ReactDOM, 'render');
...
ReactDOM.render.mockImplementationOnce(() => {} );
...
ReactDOM.render.mockRestore();
} );
} );
Run Code Online (Sandbox Code Playgroud)
我收到以下打字稿错误:"TS2339:属性'mockImplementationOnce'在'Renderer'类型上不存在"
任何人都知道如何使TypeScript识别jest模拟方法?
我一直在使用Babel一段时间,我很喜欢它.但是,在主页上列出了支持的功能,它说Async functions.
我做了很多谷歌搜索,而我似乎只能理解它是一个ES7功能.
请问什么是ES7异步功能?