[解決済み] Tslint - type trivially inferred - なぜここに型を入れるのはバッドプラクティスなのですか?
2023-01-08 06:42:31
質問
VSCodeで、以下のコードをタイプで追加すると、リンターであるtslintが文句を言います。
serverId: number = 10;
そして、次のようなメッセージを出す。
[tslint] 数値リテラルから推測される数値の型、remove 型アノテーションを削除してください (参照不可)
型'number'を削除すると、メッセージは消えます。
なぜここに型情報を入れるのはバッドプラクティスなのでしょうか?
どのように解決するのですか?
悪い習慣ではありませんが
serverId: number = 10
は冗長です、なぜなら
number
の型は
推論
というプロパティが割り当てられたとき これは、TSLintの
no-inferrable-types
が警告しています。
コンパイラが簡単に推測できるような明示的な型は、コードをより冗長にします。
という可能性がない限り
serverId
プロパティが最初は未定義で、後で定義される可能性がある場合(例えば
constructor
関数で)定義されるかもしれません。
number
は安全に省略することができます。
この方法が最も効果的なのは
noImplicitAny
この方法では、推論されなかったために誤って型が省略される可能性がないためです。
関連
-
[解決済み] Angular 2: 反応するフォームコントロールの反復処理
-
[解決済み] Angular 4+ ngOnDestroy() サービス中 - observableを破壊する
-
[解決済み] AngularでEventEmitterに2つのパラメータを渡すには?
-
[解決済み] プロパティ 'X' はプライベートであり、クラス 'xyzComponent' 内でのみアクセス可能です。
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] プロパティ 'controls' がタイプ 'AbstractControl' に存在しない Angular 4 [duplicate] 。
-
[解決済み] Angular 4.3 - HttpClient set params
-
[解決済み] Uncaught Error: Unexpected module 'FormsModule' declared by the module 'AppModule'. Pipe/@Directive/@Component アノテーションを追加してください。
-
[解決済み] Angular 2 - ルーティング - ObservableでCanActivateする。
-
[解決済み] ng-forOf」は既知のネイティブプロパティではないため、バインドできない [重複] 。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コンポーネントクラスからテンプレート参照変数にアクセスする
-
[解決済み] Angular 2のFormGroupからすべての検証エラーを取得する
-
[解決済み] Angular2でNgForがPipeでデータを更新しない。
-
[解決済み] ng2 - ng-containerタグとng-templateタグの違い
-
[解決済み] ルーターナビゲートで同じページのngOnInitを呼び出さない
-
[解決済み] angular4 / typescriptでdocument.getElementByIdの置き換え?
-
[解決済み] FormGroupとFormArrayの使い分けは?
-
[解決済み] ngFor を使用して、Typescript Enum を文字列の配列として反復処理するにはどうすればよいですか?
-
[解決済み] Uncaught Error: Unexpected module 'FormsModule' declared by the module 'AppModule'. Pipe/@Directive/@Component アノテーションを追加してください。
-
[解決済み] エラー TS1192: モジュール '" A.module"' はデフォルトのエクスポートがありません。