JavaScript で変数が文字列かどうかをチェックする
Moataz Farid
2023年10月12日
このチュートリアルでは、任意の変数をチェックして、それが文字列であるかどうかを知る方法を学びます。
まず最初に、JavaScript で文字列がどのように表現されるかを知る必要があります。次に、変数が文字列であるかどうかをチェックする方法を学びます。
JavaScript での文字列表現
JavaScript では、文字列はテキストデータを格納したものです。また、String
クラスを使って定義することもできるので、文字列の中には Objects
型のものもあります。
例:
var singleQuotes = 'Hello String with Single Quotes';
var doubleQuotes = 'Hello String with Double Quotes';
var backticksText = 'Hello String with Backticks';
var stringObject = new String('Hello String Object');
console.log(singleQuotes);
console.log(doubleQuotes);
console.log(backticksText);
console.log(stringObject);
出力:
Hello String with Single Quotes
Hello String with Double Quotes
Hello String with Backticks
String {"Hello String Object"}
JavaScript の変数が文字列で typeof
演算子を使用してあるかどうかのチェック
JavaScript には、変数の型を返し、処理しているデータ型の種類を通知する typeof
演算子があります。
上の例で使われている変数の型を知りたい場合は、次のように書くことができます。
console.log(typeof singleQuotes);
console.log(typeof doubleQuotes);
console.log(typeof backticksText);
console.log(typeof stringObject);
出力:
string
string
string
object
変数のデータ型を知る方法を理解した後は、変数が文字列であるかどうかをチェックするのは簡単です。
inputText
の typeof
の戻り値が string
であれば、その変数はプリミティブな String
データ型です。入力テキストが String
クラスのインスタンスであれば、それもまた文字列であり、そうでなければ文字列にはなりません。
以下の例を見てみましょう。
function isString(inputText) {
if (typeof inputText === 'string' || inputText instanceof String) {
// it is string
return true;
} else {
// it is not string
return false;
}
}
var textOne = 'Hello String';
var textTwo = new String('Hello String Two');
var notString = true;
console.log('textOne variable is String > ' + isString(textOne));
console.log('textTwo variable is String > ' + isString(textTwo));
console.log('notString variable is String > ' + isString(notString));
出力:
textOne variable is String > true
textTwo variable is String > true
notString variable is String > false