gpt4 book ai didi

javascript - typescript 中的功能

转载 作者:行者123 更新时间:2023-12-05 00:35:50 24 4
gpt4 key购买 nike

为什么没有遗漏错误?

interface User {
// way 1
foo(): string;
foo2(x:number): string;

// way 2
normal: () => string;
normal2: (x:number) => string;
}

let user: User = {
// way 1
foo: () => '',
foo2: () => '', // why no error since x is missing

// way 2
normal: () => '',
normal2: () => '', // why no error since x is missing
};
请参阅此 typescript Playground

最佳答案

如果您 调用 (x:number)=>string不传入 x , 你得到 An argument for 'x' was not provided.错误。
但这不是你正在做的
你正在做的是分配 ()=>string(x:number)=>string ,这是有效的。当您分配 ()=>string(x:number)=>string ,编译器问:可以()=>string行为与 (x:number)=>string 相同?
即可以()=>string接受 number吐出一个string , 就像 (x:number)=>string做?
答案是肯定的,()=>string技术上可以接受任何数字,但只是忽略它,然后返回一个字符串,与它接受的数字无关。因此,()=>string可分配给 (x:number)=>string

关于javascript - typescript 中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70469713/

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