String type in JavaScript.
String in JS. Methods and best practices.
In JavaScript, a String is a text type represented using UTF-16 encoding. Strings can be created using:
Example: Strings created in different ways
const str1 = "Hello"; // Double quotes
const str2 = 'World'; // Single quotes
const str3 = `Welcome, ${str1} ${str2}!`; // Backticks (Template Literal)
Template Literal allows embedding variables using ${}:
const name = "John";
const message = `Hello, ${name}!`; // Hello, John!
const str = 'JavaScript';
console.log(str[0]); // 'J'
console.log(str[4]); // 'S'
console.log(str[str.length - 1]); // 't'
let str = 'Hello';
str[0] = 'h'; // Won't work
str = 'hello'; // Reassignment works
JavaScript provides several built-in string methods:
const str = 'JavaScript';
console.log(str.length); // 10
const str = 'JavaScript';
console.log(str.charAt(0)); // 'J'
const str = 'JavaScript';
console.log(str.slice(0, 4)); // 'Java'
console.log(str.slice(4)); // 'Script'
console.log(str.slice(-6)); // 'Script'
const str = 'JavaScript';
console.log(str.substring(0, 4)); // 'Java'
console.log(str.substring(4)); // 'Script'
const str = 'JavaScript';
console.log(str.substr(4, 3)); // 'Scr'
const str = 'JavaScript';
console.log(str.toUpperCase()); // 'JAVASCRIPT'
console.log(str.toLowerCase()); // 'javascript'
const str = ' Hello World! ';
console.log(str.trim()); // 'Hello World!'
const str = 'JavaScript is great';
console.log(str.replace('great', 'awesome')); // 'JavaScript is awesome'
replace() changes only the first match.
Use a regular expression (RegEx) to replace all occurrences:
const str = 'JavaScript is great, JavaScript is fun';
console.log(str.replace(/JavaScript/g, 'JS')); // 'JS is great, JS is fun'
const str = 'JavaScript is fun';
console.log(str.split(' ')); // ['JavaScript', 'is', 'fun']
const str = 'JavaScript is fun';
console.log(str.includes('Script')); // true
console.log(str.includes('script')); // false (case-sensitive)
const str = 'JavaScript';
console.log(str.startsWith('Java')); // true
console.log(str.endsWith('Script')); // true
const firstName = 'John';
const lastName = 'Doe';
const fullName = firstName + ' ' + lastName;
console.log(fullName); // 'John Doe'
const firstName = 'John';
const lastName = 'Doe';
const fullName = firstName.concat(' ', lastName);
console.log(fullName); // 'John Doe'
const firstName = 'John';
const lastName = 'Doe';
const fullName = `${firstName} ${lastName}`;
console.log(fullName); // 'John Doe'
Strings can also be created as objects using new String(), but this is not recommended.
const str1 = 'Hello'; // String type
const str2 = new String('Hello'); // String object
console.log(typeof str1); // 'string'
console.log(typeof str2); // 'object'
console.log(str1 === str2); // false
Best practice: Use primitive strings instead of String objects.