gpt4 book ai didi

typescript - "as string"与 toString()

转载 作者:行者123 更新时间:2023-12-04 14:33:10 24 4
gpt4 key购买 nike

我正在使用 jasmine 编写一些单元测试。如果我使用:

let arg0 : string = http.put.calls.argsFor(0) as string;
if(arg0.search(...

然后我收到错误 arg0.search不是函数。 Intellisense 显示 arg0 是一个数组,而不是预期的字符串。如果我改为使用:
let arg0 : string = http.put.calls.argsFor(0).toString();
if(arg0.search(...

有用。 Intellisense 显示 argsFor 函数签名具有 any 作为返回类型。当被调用时,它返回一个数组。

为什么“作为字符串”版本不起作用,为什么在这种情况下我没有收到给定 arg0 的编译错误,最终会保存一个数组而不是一个字符串?

最佳答案

as string是一个 TypeScript 构造,因为它在编译时被删除,所以 javascript 甚至不知道它。
toString()是一个 JavaScript 方法,它实际上接受前一个方法中返回的内容并将其转换为字符串。这不会在编译时删除。

关于typescript - "as string"与 toString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47664576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com