gpt4 book ai didi

typescript - ts(2454) 变量 'value' 在分配之前使用

转载 作者:行者123 更新时间:2023-12-04 13:37:33 27 4
gpt4 key购买 nike

对于以下代码(在严格模式下),我收​​到 typescript 编译时错误“在分配 ts(2454) 之前使用了变量‘值’”:

class Box<T> {
constructor(private value: T) {
}

map<U>(f: (val: T) => U): Box<U> {
return new Box<U>(f(this.value));
}

tap(f: (val: T) => unknown): void {
f(this.value);
}
}

function getValue<T>(box: Box<T>): T {
let value: T;
box.tap((val: T) => value = val);
return value;
}

const multiplyByTwo = (value: number) => value * 2;
const box = new Box<number>(55).map(multiplyByTwo);
const val = getValue(box);
console.log(val);

该错误是为函数 getValue 的“返回值”行生成的。

TypeScript Playground

最佳答案

我找不到优雅的解决方案。我只用@ts-ignore 注释标记了该行。

关于typescript - ts(2454) 变量 'value' 在分配之前使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60854745/

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