JavaScript String

Summary: in this tutorial, you’ll learn about the JavaScript string primitive type.

Introduction to the JavaScript strings

JavaScript strings are primitive values. JavaScript strings are also immutable. It means that if you process a string, you will always get a new string. The original string doesn’t change.

To create literal strings in JavaScript, you use either single quotes or double quotes like this:

let str = 'Hi'; let greeting = "Hello";
Code language: JavaScript (javascript)

ES6 introduced template literals that allow you to define a string backtick (`) characters:

let name = 'John'; let message = `Hello ${name}`; console.log(message);
Code language: JavaScript (javascript)

Output:

Hello John
Code language: JavaScript (javascript)

The string message evaluates the name variable and returns the result string.

Escaping special characters

To escape special characters, you use the backslash \ character. For example:

  • Windows line break: '\r\n'
  • Unix line break: '\n'
  • Tab: '\t'
  • Backslash '\'

The following example uses the backslash character to escape the single quote character in a string:

let str = 'I\'m a string!';
Code language: JavaScript (javascript)

Getting the length of the string

The length property returns the length of a string:

let str = "Good Morning!"; console.log(str.length); // 13
Code language: JavaScript (javascript)

Accessing characters

To access the characters in a string, you use the array-like [] notation with the zero-based index.

The following example returns the first character of a string with the index zero:

let str = "Hello"; console.log(str[0]); // "H"
Code language: JavaScript (javascript)

To access the last character of the string, you use the length - 1 index:

let str = "Hello"; console.log(str[str.length -1]); // "o"
Code language: JavaScript (javascript)

Concatenating strings via + operator

To concatenate two or more strings, you use the + operator:

let name = 'John'; let str = 'Hello ' + name; console.log(str); // "Hello John"
Code language: JavaScript (javascript)

If you want to assemble a string piece by piece, you can use the += operator:

let className = 'btn'; className += ' btn-primary' className += ' none'; console.log(className);
Code language: JavaScript (javascript)

Output:

btn btn-primary none
Code language: JavaScript (javascript)

Converting values to string

To convert a non-string value to a string, you use one of the following:

  • String(n);
  • ” + n
  • n.toString()

Note that the toString() method doesn’t work for undefined and null.

When you convert a string to a boolean, you cannot convert it back via the Boolean():

let status = false; let str = status.toString(); // "false" let back = Boolean(str); // true
Code language: JavaScript (javascript)

In this example:

  • First, the status is a boolean variable.
  • Then, the toString() returns the string version of the status variable, which is false.
  • Finally, the Boolean() converts the "false" string back to the Boolean that results in true because "false" is a non-empty string.

Note that only string for which the Boolean() returns false, is the empty string (”);

Comparing strings

To compare two strings, you use the operator >, >=, <, <=, and == operators.

These operators compare strings based on the numeric values of JavaScript characters. In other words, it may return the string order that is different from the one used in dictionaries.

let result = 'a' < 'b'; console.log(result); // true
Code language: JavaScript (javascript)

However:

let result = 'a' < 'B'; console.log(result); // false
Code language: JavaScript (javascript)

Summary

  • JavaScript strings are primitive values and immutable.
  • Literal strings are delimited by single quotes ('), double quotes ("), or backticks (`)
  • The length property returns the length of the string.
  • Use the >, >=, <, <=, == operators to compare two strings.
Was this tutorial helpful ?