2017-06-07 4 views
0

私のアプリケーションでは読み取り/書き込み権限を表すためにtypescriptオブジェクトを作成していますが、意味がない変数私に。うまくいけば、誰かがこれを見て、私が間違っていることを教えてくれるでしょう。エラーで定数または読み取り専用のプロパティであるため 'ブール'に割り当てることができません

export class Permission { 
     watcher:Object = { read:Boolean = true}; 
} 

前のコードの結果:それは定数または読み取り専用のプロパティであるため、

は、[TS]「ブール」に割り当てることはできません。 constブール値:BooleanConstructor

私はたぶん愚かなことをやっているので、これは超初心者であれば事前にお詫びします。

答えて

2

、プロパティreadを持つオブジェクトであるためにあなたのwatcherプロパティを入力することを意図している場合、それはこのような何か入力する必要があります。

export class Permission { 
    // The part after the ":" is the type definition of the property. 
    // The part after "=" is its value 
    watcher: { 
    read: boolean 
    } = { read: true }; 
} 

をあなたが現在持っていることはおそらく構文エラーです。おそらく、組み込みのコンストラクタBooleanBoolean = true

1

で(truefalseは常にブールであるため)あなたはBoolean型は単なる冗長であるとして、それを宣言し、{ read: true }でJSONオブジェクトを割り当てるしようとしているtypescriptですが、推測上書きしたくありませんこれは無効なJSON構造です。

{ 
    key: value, 
    key2: value2 
} 

注意JSONには等号(=)が唯一、存在しない:キーと値を分離する

JSONは、このフォーマットを有します。

今はクラスの構文が等号を持っているので混乱しているのが分かりますが、それは割り当てのためだけです。割り当て後、等号を持つ必要はありません。

export class Permission { 
    watcher = { read: true }; 
} 

あなたが他のオブジェクト上の任意の変数または依存関係をしたい場合にはあなたが、より複雑なオブジェクトのためのインタフェースが必要になります

最終的なクラス定義は次のようになります。 小さなオブジェクトの場合、typescriptは型の構造を理解します。

関連する問題