JavaScript で変数が文字列かどうかをチェックする

Moataz Farid 2023年10月12日
  1. JavaScript での文字列表現
  2. JavaScript の変数が文字列で typeof 演算子を使用してあるかどうかのチェック
JavaScript で変数が文字列かどうかをチェックする

このチュートリアルでは、任意の変数をチェックして、それが文字列であるかどうかを知る方法を学びます。

まず最初に、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

変数のデータ型を知る方法を理解した後は、変数が文字列であるかどうかをチェックするのは簡単です。

inputTexttypeof の戻り値が 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

関連記事 - Java String