gpt4 book ai didi

javascript - typescript 类型转换

转载 作者:行者123 更新时间:2023-11-28 14:45:46 25 4
gpt4 key购买 nike

如何在不更改函数测试中收到的接口(interface)和 typeof 参数的情况下使我的 typescript 编译器满意。

功能测试错误:-

"Property 'method2' does not exist on type 'xyz'. Did you mean 'method1'?"

interface xyz { 
method1(): string;
}

class abc implements xyz {
method1() {
return "abc";
}
method2() {
return "new method";
}
}

function test(arg: xyz) {
alert(arg.method2());
}

Link

最佳答案

当您想要访问其他字段时,可以使用类型保护来更改编译器中看到的类型:

function isAbc(arg: xyz | abc): arg is abc {
return (<abc>arg).method2 !== undefined;
}

function test(arg: xyz) {
if (isAbc(arg)) {
// here the type of `arg` is `abc`
alert(arg.method2());
}
}

关于javascript - typescript 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46402588/

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