/** * Optional 对象 */ declare class Optional { private value; /** * 构造函数 * * @param value T 类型的值 */ private constructor(); /** * 返回一个指定 T 类型的值的 Optional 实例 * * @param value T 类型的值 * @return T 类型的值的 Optional 实例 */ static of(value: T): Optional; /** * 如果为非 null 或 undefined,返回 Optional 描述的指定值的实例,否则返回空的 Optional 实例 * * @param value T 类型的值 * @return T 类型的值的 Optional 实例,或空的 Optional 实例 */ static ofNullable(value: T): Optional; /** * 返回空的 Optional 实例 * * @return 空的 Optional 实例 */ static empty(): Optional; /** * 如果 value 不为 null 或 undefined,则返回 value 的值;否则抛出异常 * * @return Optional 中包含这个值 */ get(): T; /** * 如果 value 不为 null 或 undefined,则返回 value 的值;否则返回 other * * @param other 其它值 * @return value 不为 null 或 undefined,则返回 value 的值;否则返回 other */ orElse(other: T): T; /** * 如果 value 不为 null 或 undefined,则返回 true;否则返回 false * * @return value 不为 null 或 undefined,则返回 true;否则返回 false */ isPresent(): boolean; } interface Window { Optional: typeof Optional; }