1
で文字列リテラルタイプのため
A
答えて
1
:あなたは、文字列ベースの列挙型を使用することができます戻り値は引数の型についてアサーションを作成する関数です。コンパイラは、関数がtrue
を返すとき、引数は指定された型を持つことを知っています。
残念ながら、文字列を繰り返したり明示的なテストを最低1回は書く必要はありませんが、コードを一度書くだけで型チェックを拡張して値を安全にカバーすることができます。
+0
ありがとうございます。両方の答えが働く。私は選ぶべきか分からない!パフォーマンス面では? – Sammy
2
コンパイル時に型が削除されるため、型は比較のために使用できません。次に、あなたのコード内で
function isAdmin(arg: string): arg is Admin {
return arg === 'ADMIN' || arg === 'AGENT';
}
:
let role: string = localStorage.getItem('role');
if (isAdmin(role)) {
... here role has the type Admin ...
}
型ガードは特殊な形式であるあなたはタイプのガードを作成する必要があります
enum Role {
"ADMIN",
"AGENT"
}
let role = localStorage.getItem("role");
if (role && role in Role) {
console.log("role exists");
};
関連する問題
- 1. 返された文字列にjavaクラスがあるかどうかをテストします
- 2. AutoHotKey - 文字列に別の文字列が含まれているかどうかをテストします。
- 3. 文字列に "__X__"が含まれているかどうかをテストし、警告があれば();
- 4. 文字列が2つの文字列のいずれかと等しくないかどうかをテストしてください
- 5. ページが返されるかどうかのテスト.pdf
- 6. JQテストは、いくつかのサブストリングのいずれかの文字列で
- 7. 文字列が数字でないかどうかをテストする方法
- 8. <head>タグに特定の<script>タグが含まれているかどうかをテストするにはどうすればよいですか?
- 9. リスト項目が文字列の部分文字列であるかどうかを調べる
- 10. PGTとPGTIOUの保存CASが生成する
- 11. 文字列にELで指定された値が含まれているかどうかをテストするにはどうすればよいですか?
- 12. リスト内の項目が文字列内にあるかどうかPython 2.7
- 13. 文字列のアンパサンドをどのようにテストすればよいですか?
- 14. qtreeview項目がチェック可能かどうかのテスト
- 15. テスト:タプルが返されるかどうか確認してください。
- 16. 文字列が16進数値であるかどうかをテストする必要があります
- 17. 変数が文字列かどうかをテストするC++の条件文
- 18. 文字列にリテラルアスタリスクが含まれているかどうかをテストします。
- 19. 文字列にPHPで不具合が含まれているかどうかをテストするには?
- 20. ホスティングがサポートされているかどうかをテストする
- 21. 文字列を分割し、その文字列の最後の項目があるかどうかを確認する方法はありますか?
- 22. 新しい文字列( "literal")内に置かれる文字列リテラルはどうなりますか?
- 23. C#:オブジェクトがインターフェイスのリストのいずれかを実装しているかどうかをテストしますか?
- 24. 文字列[]の文字列がArrayListにあるかどうかを確認する<string>
- 25. BASH:文字列が有効かどうかのテスト
- 26. 変数が5つの配列値のいずれかと等しいかどうかをテストする方法
- 27. C#でIEnumerable <KeyValuePair <文字列、文字列>>オブジェクトを作成しますか?テスト目的のために
- 28. 配列から項目を削除しても項目が返されているようです
- 29. ストリングにフィッシュシェルの別の文字列が含まれているかどうかをテストするにはどうすればよいですか?
- 30. コマンド出力に特定の文字列が含まれているかどうかを(1行で)テストするにはどうすればよいですか?
タイプ値と実行時を取得できません。なぜ文字列列挙を使用しないのですか? – Saravana
私を見せてもらえますか? – Sammy