TypeScript で変数が文字列であるかどうかを確認する
- TypeScript タイプ
-
TypeScript で変数が文字列で
typeof
演算子を使用してあるかどうかを確認する -
TypeScript で変数が文字列で
instanceof
演算子を使用してあるかどうかを確認する -
TypeScript で変数が文字列で
Object.prototype
を使用してあるかどうかを確認する
この記事では、TypeScript で変数が文字列であるかどうかを確認する方法について説明します。
TypeScript タイプ
TypeScript は、コンパイル時に型チェックが行われる JavaScript 言語のスーパーセットです。変数、関数、または引数が宣言されている場合は常に、TypeScript を使用して型を明示的に割り当てることができます。これは、エラーを事前に特定するのに役立ちます。
// variable declaration and assignment
let stringTypeVariable: string = 'Hello world';
let booleanTypeVariable: boolean = true;
let numberTypeVariable: number = 10;
// function declaration
function calculateSum(numOne: number, numTwo: number): number {
return numOne + numTwo;
}
TypeScript の String
タイプ
TypeScript 文字列型は文字のコレクションを保持します。これは、文字のシーケンスが一重引用符または二重引用符で囲まれているプリミティブデータ型です。
テキストデータは文字列型で保存できます。TypeScript に文字列を保存する方法は 2つあります。
- プリミティブ型として格納します
- オブジェクトインスタンスとして保存します
文字列をプリミティブ型として格納する
通常、プリミティブ文字列型は文字列リテラルを保持します。プリミティブ文字列は、オブジェクトインスタンスよりも推奨されます。
let stringTypeName: string = 'John Doe';
let stringTypeId: string = "User001";
文字列をオブジェクトインスタンスとして保存する
TypeScript は、追加のヘルパーメソッドでプリミティブ文字列型をラップする String オブジェクトインスタンスをサポートします。String オブジェクトインスタンスのプロトタイプチェーンには、String.prototype
が含まれます。
let stringVal: String = new String('This is a String object');
let anotherStrVal: String = String('Another String object');
特定の変数が文字列を保持しているかどうかを確認する方法はいくつかあります。通常、typeof
演算子はプリミティブ文字列型をチェックするために使用され、instanceof
演算子は String オブジェクトインスタンスで使用できます。
それ以外に、Object.prototype
プロパティを使用して、指定されたタイプが文字列であるかどうかを確認できます。
TypeScript で変数が文字列で typeof
演算子を使用してあるかどうかを確認する
typeof
は、指定されたオペランドのデータ型を返す TypeScript 単項演算子です。
構文:
typeof <operand>
演算子は、オペランドのタイプを示す文字列を返します。
プリミティブ文字列 userName
を作成しましょう。
let userName: string = 'Ricky hardy';
次に、typeof
演算子を使用して、userName
変数のデータ型を確認します。次のように、コンソールに出力してみましょう。
console.log(typeof userName);
出力:
string
したがって、次のように、typeof
演算子を使用して、条件付きコードフラグメント内のプリミティブ型の文字列をチェックできます。
if (typeof userName === 'string') {
// logic to be executed when the type is a string
} else {
// logic to be executed for non-string types
}
TypeScript で変数が文字列で instanceof
演算子を使用してあるかどうかを確認する
instanceof
演算子は、指定されたオブジェクトのプロトタイプチェーンを操作し、プロトタイププロパティがそこに表示されているかどうかを確認します。指定されたオブジェクトが子であるか、指定されたコンストラクターのインスタンスであるかをチェックします。
構文:
<object> instanceof <constructor/type>
この演算子はブール値を返します。さらに、演算子はオブジェクトインスタンスのみを受け入れ、プリミティブは受け入れません。
新しい String オブジェクト vehicleBrand
をインスタンス化してみましょう。
let vehicleBrand: String = new String("AUDI");
次に、instanceof
演算子を使用して、vehicleBrand
が文字列型であるかどうかを確認します。
console.log(vehicleBrand instanceof String);
出力:
true
予想どおり、vehicleBrand
は String オブジェクトであるため、演算子は true
を返します。
TypeScript で変数が文字列で Object.prototype
を使用してあるかどうかを確認する
Object.prototype
は、TypeScript で文字列型を識別するためのより一般的な方法としても使用できます。このプロパティには、toString()
メソッドが含まれています。このメソッドでは、call
メソッドを使用して、指定された変数のプロトタイプのタイプを確認できます。
構文:
Object.prototype.toString.call(<variable/object>);
これにより、次の形式の文字列が返されます。
"[object String]"
OR
"[object Array]"
OR
.
.
.
新しい変数 newStringValue
を作成しましょう。
let newStringValue: string = 'This is a new string';
次に、Object.prototype
プロパティを使用して、newStringValue
変数コンストラクタータイプをチェックします。
console.log(Object.prototype.toString.call(newStringValue));
出力:
[object String]
予想通り、タイプは文字列です。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.