Check if a variable is a string in JavaScript

David Y.
jump to solution

The Problem

How can I check whether a variable is a string in JavaScript?

The Solution

We can do this using JavaScript’s typeof operator along with its strict equality operator. We can test this with the following code:

// Function to test if variable is a string
function isString(variable) {
  return typeof variable === "string";
}

// Variables of different types
let myBool = false;
let myNum = 12;
let myArray = [1, 2, 3]
let myObject = { a: 1, b: 2, c: 3}
let myString = "Hello world!"

// Tests
console.log(isString(myBool)); // will print "false"
console.log(isString(myNum)); // will print "false"
console.log(isString(myArray)); // will print "false"
console.log(isString(myObject)); // will print "false"
console.log(isString(myString)); // will print "true"

To check whether a variable is one of JavaScript’s other built-in types, we can replace the value on the right-hand side of the === with the appropriate string from the Result column of this table. Note that null is considered to be of type "object". Additional caveats regarding uninitialized variables and other special cases are detailed in the linked page of the MDN documentation.

To check whether a variable is an instance of a custom-defined class, we must use instanceof instead.

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry