2017-06-14 68 views
0

爲什麼我不能在這裏使用短劃線?Angular2 - 爲什麼不能在屬性名稱中使用短劃線

export class FizzService { 
    getFizzes() : object[] { 
    return[ 
     { 
     iconClass: 'glyphicon glyphicon-search', 
     }, 

所以在上面我無法使用

icon-class: 'glyphicon glyphicon-search', 

我必須做到:

iconClass: 'glyphicon glyphicon-search', 

否則我會看到錯誤:

enter image description here

+4

使用引號' '圖標一流':「glyphicon glyphicon-search'' – yurzui

+0

@yurzui謝謝,那是有趣的。你能解釋爲什麼嗎?或者只是發佈一個答案,我會很樂意接受它 –

+0

這是一個純粹的JavaScript問題。 '-'是JS中的一個運算符,因此不能在標識符中使用。 –

回答

4

屬性名稱可以b e字符串("foo")或標識符(foo)。

標識符也可用於變量。

標識符不能包含連字符,因爲那是減號運算符。

amount-discount表示「金額減去折扣」,而不是「變量名稱中連字符」。

標識符不能包括空格,+字符和其它字符的宿主任一。如果您想要屬性名稱包含特殊字符,請使用字符串。

2

這是因爲對象的屬性不應該包含下劃線以外的任何特殊字符(例如:PROPERTY_NAME)。

如果你想在對象,然後我們應該把引號的屬性的屬性,以使用連字符(例如:「屬性名稱」)。

請通過下面的鏈接,在JavaScript命名約定。 http://javascript.crockford.com/code.html

相關問題