gpt4 book ai didi

typescript - 是否可以在 TypeScript 中解包一个可选/可为空的值?

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:01 24 4
gpt4 key购买 nike

我习惯了 Swifts 的可选值,发现 TypeScript 也有类似的东西。对于属性的延迟初始化之类的事情,最好有一个 nullable 的私有(private)属性和一个在请求时初始化值的 public getter。

class Test {
private _bar: object:null = null;
get bar(): object {
if (_bar === null) {
_bar = { };
}
return _bar;
}
}

我知道我可以为此使用 undefined 并从私有(private)成员中删除可为 null 的类型信息,但我想知道是否有一种方法可以做到这一点而不必在属性中永远携带 null。我将从一个我想处理空值的地方转到一个我不再希望强制任何人处理可为空值的边界。

最佳答案

您可以像这样在 TypeScript 中执行此操作:

class Test {
private _bar?: object;
get bar(): object {
if (this._bar === undefined) {
this._bar = { };
}
return this._bar;
}
}

通常使用 undefined 而不是 null 在 TypeScript 中更为惯用。

关于typescript - 是否可以在 TypeScript 中解包一个可选/可为空的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47875364/

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