作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我习惯了 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/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!