如果我有一个对象的引用:
var test = {};
可能(但不是立即)有嵌套对象,如:
{level1: {level2: {level3: "level3"}}};
在最深层嵌套的对象中测试密钥是否存在的最佳方法是什么?
alert(test.level1);收益率undefined,但alert(test.level1.level2.level3);失败了.
我现在正在做这样的事情:
if(test.level1 && test.level1.level2 && test.level1.level2.level3) {
    alert(test.level1.level2.level3);
}
但我想知道是否有更好的方法.
Typescript目前(或有计划)支持安全导航操作员?.
即:
var thing = foo?.bar
// same as:
var thing = (foo) ? foo.bar : null;
此外,这个运营商有一个更常见的名称(它很难谷歌).
我试图了解什么是可选链(Elvis 运算符)以及它是如何工作的,以及它在 TypeScript 中的用途是什么?
public static getName(user: IUser){
    if(user.firstName != null && user.firstName != ""){
        return user.firstName;
    }
    if(user.lastName != null && user.lastName != ""){
        return user.lastName;
    }
    return user.username;
}
例如,我可以对上面的代码应用可选链以使其更短吗?
-编辑-
评论后用代码更新了问题。
export interface IUser {
    id: string;
    firstName: string;
    lastName: string;
    username: string;
}
我们有Null合并操作符.NET,我们可以使用如下
string postal_code = address?.postal_code;
我们可以在React JS中做同样的事情吗?
我发现我们可以使用&&运算符
在address.ts文件中
string postal_code = address && address.postal_code;
我需要什么样的.net功能可以在typescript中使用react JS,这可能吗?
就像是:
string postal_code = address?.postal_code // I am getting the error in this line if I try to use like .NET
typescript ×3
javascript ×2
.net ×1
nested ×1
null-check ×1
object ×1
properties ×1
reactjs ×1