对象声明中的后备值

时间:2017-11-16 15:59:42

标签: typescript

好的,所以我找不到任何相关的内容。我希望这不是有史以来最基本的问题。

在Typescript中,假设我想创建一个对象的实例,并根据另一个对象是否有参数创建一个参数。

示例:

bigNote : BigNote = {
    title: 'Heads up!', 
    message: 'I like notes!', 
    color: 'red'
};

这是我的第一个对象。我的第二个目标是:

smallNote: SmallNote = {
    title: bigNote.title, 
    message: bigNote.message
};

现在我的问题:bigNote可能没有标题 - 如果不是 - smallNote应该得到替换(某些字符串),但如果确实如此,我希望它是bigNote.title。

我知道如何用后续的if子句做到这一点,但我想知道这是否有可能在初始声明中实现?

(希望这个问题不会太混乱。)

1 个答案:

答案 0 :(得分:0)

只需使用逻辑OR运算符即可。如果它的第一个参数是假的,它会评估它的第二个参数:

title: bigNote.title || someString,

someString是您要默认的标题。

这基本上就是你用if语句做的事情,而是一个很好的内联表达式。