次の js を typescript に変換しようとしていますが、account
オブジェクトが割り当てられていないため、コードがビルドされず、チェックするのに苦労しています:
上記のコードは js で正常に動作したので、次の ts に変換しましたが、何かを割り当てる前にアカウント変数を使用しようとしているため、最後の if
はコンパイルできません。
account
オブジェクトを変更して、空か未定義かを確認するにはどうすればよいですか?具体的に null に設定しようとしましたが、オブジェクトを null に設定できないと表示されます。
P粉9044509592024-04-02 09:49:17
値が割り当てられるまで変数を使用できないという問題の解決策は非常に簡単です。変数に値を割り当てるだけです。
この値は、最初は 未定義
であることを明確にすることができます。これは、宣言されていても値が割り当てられていない変数に起こることです。または、null
など、より意図的な「null」初期値を使用することもできます。
もちろん、これにより変数の型がこの初期値を含む共用体に変更されますが、それは使用方法と一致しているため、問題になるとは思いません。
ちなみに、object
はあまり有用な型ではありません。糸くずがある場合は、警告が表示される場合があります。何らかの形式の ロギング
a> の方が便利でわかりやすいでしょうか?
P粉7522900332024-04-02 09:29:28
これを行う場合 ->
リーリー アカウントは オブジェクト
のみであることを Typescript に指示しますが、Typescript では割り当てを遅らせることができますが、オブジェクトがアカウントに割り当てられない可能性があることが検出された場合は、 - > 変数「account」は代入前に使用されます。
実際のテストを行うことを検討してください -> if (アカウント) {
論理的に、あなたのタイプは object
または unknown
場合によっては、値を明示的に設定解除する方が合理的であるため、 null
-> let account:object |null=null