2017-04-12 70 views
5

我是新來的角2和打字稿。 我看到是(`?:`)打字稿三元運算符

export interface EjectTaskOptions extends BuildOptions { 
    force?: boolean; 
    app?: string; 
} 

在一些打字稿的例子。這是什麼意思(?:)是什麼意思? 它是一個三元運算符(只有假條件)還是其他?

在此先感謝。

+3

https://www.typescriptlang.org/docs/handbook/interfaces.html –

+3

的''是一個接口用於可選屬性? http://www.typescriptlang.org/docs/handbook/interfaces.html – Claies

+1

使字段在打字稿中可選 –

回答

10

?運算符指示該屬性可以是nullable /可選。這只是表示如果在實現中沒有實現此屬性,編譯器不會拋出錯誤。

+0

與'.NET'相同。 – mihail

+0

明白了。謝謝。 :) –

1

貓王操作符只適用於。不適用於像[]這樣的其他解除引用操作符。

作爲一種變通方法使用

{{ data?.record ? data.record['name/first'] : null}} 
+1

https://www.xplatform.rocks/2016/01/07/angular2-quicky-elvis-in-tha-house/ –