函数loadn返回Promise<unknown>。它应该返回Promise<string>,这样您就可以这样键入它了。
而 any 能最简单暴力地解决问题,所以初学者普遍打 any 牌不打 unknown 牌。
很明显,JSON.parse () 的输出是随着输入动态改变的(甚至有可能抛出 Error),它的函数签名被设计成了: interfaceJSON{parse(text:string,reviver?:(this:any,key:string,value:any)=>any):any;...} 这里可以用 unknown 嘛?可以,不过原因和上面一样,JSON.parse()的函数签名被添加到 TypeScript 系统之前,unknown...
很明显,JSON.parse () 的输出是随着输入动态改变的(甚至有可能抛出 Error),它的函数签名被设计成了: 代码语言:javascript 复制 interfaceJSON{parse(text:string,reviver?:(this:any,key:string,value:any)=>any):any;...} 这里可以用 unknown 嘛?可以,不过原因和上面一样,JSON.parse()的函数签名被添加到 ...
例如:JSON.parse()JSON.parse()取决于动态输入,这就是返回类型为any的原因:JSON.parse(text: string): any;JSON.parse()是在unknown类型之前添加到TypeScript语言中的。如果不是,那么它的返回类型可能就会被定义为unknown。unknown unknown类型是any类型的安全版本。每当你想用any时,试着先用unknown。在任何允许...
5014 错误 Failed to parse file '{0}': {1}. 未能分析文件“{0}”: {1}。5023 错误 Unknown compiler option '{0}'. 未知的编译器选项“{0}”。5024 错误 Compiler option '{0}' requires a value of type {1}. 编译器选项“{0}”需要类型 {1} 的值。5033 错误 Could not write file '{0...
const arr = combine([1, 2, 3], ["hello"]); Type 'string' is not assignable to type 'number'.Type 'string' is not assignable to type 'number'.Try 但是,如果你打算这样做,你可以手动指定 Type: const arr = combine<string | number>([1, 2, 3], ["hello"]); ...
TypeScript is now able to narrow expressions of the form obj[key] when both obj and key are effectively constant. Copy function f1(obj: Record<string, unknown>, key: string) { if (typeof obj[key] === "string") { // Now okay, previously was error obj[key].toUpperCase(); } } ...
code 类型 英文描述 中文描述 1002 错误 Unterminated string literal. 未终止的字符串文本。 1003 错误 Identifier expected. 应为标识符。 1005 错误 '{0}' expected. 应为“{0}”。
unknown 和 any 的主要区别是 unknown 类型会更加严格:在对 unknown 类型的值执行大多数操作之前,我们必须进行某种形式的检查。而在对 any 类型的值执行操...