2017-08-22 5 views
0

私は時には値を受け取るオブジェクトを持っていますが、いつかはありません。角度2に存在する場合にのみプロパティを読み取る方法は?

この値を取得したら、正しくオブジェクトに割り当てることができます。

私は、myObj.hasOwnProperty('myProperty')を使用して知っています。プロパティがifステートメントに存在するかどうかをテストできます。私は(プロパティが設定されている場合にのみ起こるべきである)すぐ下の行にそれを読んだときしかし、私は次のエラーを取得する:それは存在するので、ない場合にのみ、

ERROR in /my/project/my.file.ts (xx,yy): Property 'property' does not exist on type 'type'.

どのように私は唯一の値を読み取ることができますこのエラーが発生しますか?コメントで述べたように、あなたのこのmyobjタイプは、その後anyとしてそれを入力して再定義することができるかどう

if (myObj.hasOwnProperty('myProperty')){ 
    doStuff(myObj.myProperty); 
} 
+1

は 'このmyobjとして、あなたのオブジェクトを宣言:any'、またはあなたが実際にそれが'このmyobjになりたい場合:object'、 'プロパティの値を取得するには、'このmyobj [ 'myPropertyに']を使用します。 –

答えて

1

単に活字体は、その後、あなたは、単純な書き込みをすることができ、あなたが欲しいwhicherverプロパティしようとすることが可能になり、myObj['myProperty']

if (myObj['myProperty'] !== undefined) { 
    // here myProperty is defined (but maybe null or other falsy value) 
} 

を使用:

if (myObj.myProperty !== undefined) { 
    // here myProperty is defined (but maybe null or other falsy value) 
} 
関連する問題