繁体   English   中英

es6功能未在TypeScript中编译

[英]es6 features not compiling in TypeScript

我是TypeScript的新手,我在编译es6代码时遇到了一些麻烦。

我有一个.ts文件:

let a: number[] = [1,34,5,5,34,3];

console.log(a.find(no => no == 5));

当我运行tsc --module es6 --target es2015 src/test.ts它编译得很好,但是tsc --module es6 --target es5 src/test.ts似乎不起作用? 我想针对es5,但这样做会给我错误:

Property 'find' does not exist on type 'number[]'.

TypeScript不能编译成es5,还是我需要在TypeScript编译器上运行babel?

Typescript可以编译成es5,唯一的问题是find方法是在es2015标准中定义的,所以es2015会认为它不存在。

Typescript有两种方法来控制你编译到target标准,它告诉编译器如何编译语法和lib ,它告诉编译器运行时环境是什么样的(有关示例的详细解答,请参见此处

要定位es5但获取find方法,您还需要指定lib:

tsc --module es6 --target es5 src/test.ts --lib es2015,dom,scripthost

请注意,typescript将不提供polyfill,您可以自带或希望find存在于运行时中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM