2017-06-14 16 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

引用符を使用する 'icon-class': 'glyphicon glyphicon-search' ' – yurzui

+0

@yurzuiありがとうございました。理由を説明できますか?または、ちょうど答えを投稿すると、私は喜んでそれを受け入れるでしょう –

+0

それは純粋なJavaScriptの問題です。 '-'はJSの演算子であるため、識別子内では使用できません。 –

答えて

4

プロパティ名は、bはできe文字列("foo")または識別子(foo)です。

識別子は変数にも使用できます。

識別子には、マイナスの演算子が含まれているため、ハイフンを含めることはできません。

amount-discountは、「金額マイナス割引」を意味し、「名前にハイフンを含む変数」を意味しません。

識別子には、空白文字、+文字およびその他の文字のホストを含​​めることはできません。プロパティ名に特殊文字を含める場合は、文字列を使用します。

2

これは、オブジェクトのプロパティにアンダースコア(例:property_name)を除く特殊文字が含まれていないためです。

オブジェクトのプロパティでハイフンを使用する場合は、プロパティを引用符で囲む必要があります(例: "property-name")。

javascriptの命名規則については、次のリンクを参照してください。 http://javascript.crockford.com/code.html

関連する問題