Check if a variable is a string in JavaScript

David Y.

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.

Get Started With Sentry

Get actionable, code-level insights to resolve JavaScript performance bottlenecks and errors.

  1. Create a free Sentry account

  2. Create a JavaScript project and note your DSN

  3. Grab the Sentry JavaScript SDK

<script src="https://browser.sentry-cdn.com/7.112.2/bundle.min.js"></script>
  1. Configure your DSN
Sentry.init({ dsn: 'https://<key>@sentry.io/<project>' });

Loved by over 4 million developers and more than 90,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.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.