JavaScript - 변수가 문자열인지 확인

JavaScript에서 변수가 문자열인지 확인하는 방법을 소개합니다.

1. String의 구현 방법 및 종류

JavaScript에서 아래와 같은 방법들로 문자열을 정의할 수 있습니다.

typeof로 타입을 확인해보면 작은 따옴표, 큰 따옴표, backtick으로 정의한 문자열은 string 타입이고 new String()으로 정의한 문자열만 object입니다.

console.log(typeof 'Hello');
console.log(typeof "Hello");
console.log(typeof `Hello`);
console.log(typeof new String("Hello"));

Output:

string
string
string
object

2. 변수가 문자열인지 확인하는 방법

문자열의 종류는 string 타입과 String object가 있으므로, 아래와 같이 두가지 타입과 object를 확인하면 됩니다.

if (typeof val === 'string' || val instanceof String) {
  // it's a string
}

4종류의 문자열에 대해서 위의 코드로 확인해보면, 아래와 같이 모두 문자열로 확인이 됩니다.

function isString(val) {
  if (typeof val === 'string' || val instanceof String) {
    console.log('It is a string');
  } else {
    console.log('It is not a string');
  }
}

isString('Hello');
isString("Hello");
isString(`Hello`);
isString(new String("Hello"));

Output:

It is a string
It is a string
It is a string
It is a string

Number나 배열에 대해서 확인해보면, 변수는 문자열이 아니라고 판별됩니다.

function isString(val) {
  if (typeof val === 'string' || val instanceof String) {
    console.log('It is a string');
  } else {
    console.log('It is not a string');
  }
}

isString(123);
isString([1, 2, 3]);

Output:

It is not a string
It is not a string
Loading script...
codechachaCopyright ©2019 codechacha