[解決済み] TypeScriptの文字列型配列のテスト
2022-05-13 14:08:31
質問
TypeScriptで変数が文字列の配列であるかどうかを調べるにはどうしたらよいでしょうか。 こんな感じです。
function f(): string {
var a: string[] = ["A", "B", "C"];
if (typeof a === "string[]") {
return "Yes"
}
else {
// returns no as it's 'object'
return "No"
}
};
TypeScript.ioはこちらです。 http://typescript.io/k0ZiJzso0Qg/2
編集:string[]のテストを依頼するためにテキストを更新しました。これは以前はコード例のみでした。
どのように解決するのですか?
をテストすることはできません。
string[]
をテストすることはできませんが、一般的なケースでは
Array
をテストするのは簡単で、JavaScript と同じように
https://stackoverflow.com/a/767492/390330
(私は
Array.isArray(value)
).
もし、特に
string
のような配列にしたい場合は、以下のようにします。
if (Array.isArray(value)) {
var somethingIsNotString = false;
value.forEach(function(item){
if(typeof item !== 'string'){
somethingIsNotString = true;
}
})
if(!somethingIsNotString && value.length > 0){
console.log('string[]!');
}
}
基本型ではない)クラスの配列をチェックする必要がある場合
if(items && (items.length > 0) && (items[0] instanceof MyClassName))
すべての項目が同じ型であることが確認できない場合
items.every(it => it instanceof MyClassName)
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み] Typescriptでオブジェクトのプロパティを結合する方法は?
-
[解決済み] メインとテストのコンパイルを分離するために、typescriptコンパイラ(tsc)のオプションはどのように設定するのが正しいのでしょうか?
-
[解決済み] クラスのプロパティが整数であることはどのように指定するのですか?
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] TypeScriptのオブジェクトリテラルでの型定義
-
[解決済み】TypeScriptのインターフェースと型について
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプトのエラーです。TS7053 要素が暗黙のうちに 'any' 型を持っています。
-
[解決済み] エラー TS2322: タイプ 'Object[]' はタイプ '[Object]' に割り当てられません。
-
[解決済み] 'タイプ 'never'にプロパティが存在しません。
-
[解決済み] TypeScriptのInterface Function Property。何が違うの?
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] クラス定数を実装するには?
-
[解決済み] TypeScriptのクラス型チェック
-
[解決済み】ランタイムにオブジェクトのクラス名を取得する
-
[解決済み】文字列の値を持つenumの作成
-
[解決済み】TypescriptのArray<Type> VS Type[]について