How to Check if a Value is a String in JavaScript or Node.js

JavaScript comes with handy string methods. What’s missing though is a handy method determining whether a given value is of type “String”. Nonetheless, JavaScript provides methods helping you to detect if a given value is a string value.

Node.js Series Overview

  1. String Replace All Appearances
  2. Remove All Whitespace From a String in JavaScript
  3. Generate a Random ID or String in Node.js or JavaScript
  4. Remove Extra Spaces From a String in JavaScript or Node.js
  5. Remove Numbers From a String in JavaScript or Node.js
  6. Get the Part Before a Character in a String in JavaScript or Node.js
  7. Get the Part After a Character in a String in JavaScript or Node.js
  8. How to Check if a Value is a String in JavaScript or Node.js
  9. Check If a String Includes All Strings in JavaScript/Node.js/TypeScript
  10. Check if a Value is a String in JavaScript and Node.js
  11. Limit and Truncate a String to a Given Length in JavaScript and Node.js
  12. Split a String into a List of Characters in JavaScript and Node.js
  13. How to Generage a UUID in Node.js
  14. Reverse a String in JavaScript or Node.js
  15. Split a String into a List of Lines in JavaScript or Node.js
  16. Split a String into a List of Words in JavaScript or Node.js
  17. Detect if a String is in camelCase Format in Javascript or Node.js
  18. Check If a String Is in Lowercase in JavaScript or Node.js
  19. Check If a String is in Uppercase in JavaScript or Node.js
  20. Get the Part After First Occurrence in a String in JavaScript or Node.js
  21. Get the Part Before First Occurrence in a String in JavaScript or Node.js
  22. Get the Part Before Last Occurrence in a String in JavaScript or Node.js
  23. Get the Part After Last Occurrence in a String in JavaScript or Node.js
  24. How to Count Words in a File
  25. How to Shuffle the Characters of a String in JavaScript or Node.js
  26. Append Characters or Words to a String in JavaScript or Node.js
  27. Check if a String is Empty in JavaScript or Node.js
  28. Ensure a String Ends with a Given Character in JavaScript or Node.js
  29. Left-Trim Characters Off a String in JavaScript or Node.js
  30. Right-Trim Characters Off a String in JavaScript or Node.js
  31. Lowercase the First Character of a String in JavaScript or Node.js
  32. Uppercase the First Character of a String in JavaScript or Node.js
  33. Prepend Characters or Words to a String in JavaScript or Node.js
  34. Check if a String is a Number
  35. Convert a String to Buffer
  36. Prevent Line Breaks in String Template Literals

Check if a Value is a String in JavaScript

A common approach is to determine the type of a given input and ensure it’s a string. JavaScript’s typeof operator returns the type of a given value. You can then compare the type against the value 'string':

const input = 'Hello Marcus, I’m a string value'

const isString = typeof input === 'string'  
// true

If you want to be sure that a given value is actually a string, you should add a check on the prototype. This ensures you’re working with a string:

const input = 'Hello Marcus, I’m a string value'

const isString = typeof input === 'string' && Object.prototype.toString.call(input) === '[object String]'  
// true

You may now ask yourself “when would I need to ensure the string prototype of an input?“. Good question! Adding the prototype check is helpful when providing a package that works with strings and needs to ensure that a given input is actually a string.

For example, the @supercharge/strings package provides a isString method doing all the heavy lifting for you.

Use a Package

I’m the maintainer of the @supercharge/strings package providing convenient string utilities. This package provides a handy isString method determining whether a given value is a string:

const Str = require('@supercharge/strings')

Str.isString('Hello Marcus')  
// true

Str.isString(2020)  
// false

Enjoy!


Mentioned Resources

Explore the Library

Find interesting tutorials and solutions for your problems.