我正在使用babel-polyfill和打字稿。
当我使用函数string.includes()时出现错误
错误TS2339:类型'string'
上不存在属性'includes'
堆栈溢出中存在类似的问题:error TS2339: Property 'endsWith' does not exist on type 'string'
答案是扩展自定义接口String
interface String {
endsWith(searchString: string, endPosition?: number): boolean;
};
我不太喜欢这个想法,因为这意味着我必须以这种方式修复每个es6 polyfill功能。
有没有办法告诉打字稿他应该使用es6定义,但是转换为es5?
答案 0 :(得分:3)
没有编译器选项可以启用此功能,但您可以直接引用lib.es6.d.ts
文件:
///<reference path="../path/to/node_modules/typescript/lib/lib.es6.d.ts" />
或使用像es6-shim
这样的填充程序库来获取类型,但不包括js文件,因为babel会为你编译它。
tsd install es6-shim