This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Declare a variable and store some value. | |
const orgStr = 'JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled and multi-paradigm.'; | |
// To replace single instance, use replace(). | |
let newStr = orgStr.replace('JavaScript', 'TypeScript'); | |
console.log(newStr); | |
// To replace all instances, use replaceAll(). | |
let newStr2 = orgStr.replaceAll('JavaScript', 'TypeScript'); | |
console.log(newStr2); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Decimal integer literal with digits grouped by thousand. | |
let n1 = 1_000_000_000; | |
console.log(n1); // This will print: 1000000000 | |
// Decimal literal with digits grouped by thousand. | |
let n2 = 1_000_000_000.150_200 | |
console.log(n2); // This will print: 1000000000.1502 | |
// Hexadecimal integer literal with digits grouped by byte. | |
let n3 = 0x95_65_98_FA_A9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a Promise. | |
const promise1 = new Promise((resolve, reject) => { | |
// After 1 second reject the first promise. | |
setTimeout(() => reject("The first promise has been rejected."), 1000); | |
}); | |
// Create a Promise. | |
const promise2 = new Promise((resolve, reject) => { | |
// After 500 miliseconds reject the second promise. | |
setTimeout(() => reject("The second promise has been rejected."), 500); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// In the example, the &&= will check if the filesCount is true. | |
// If true, then the right value will be assigned to the left variable. | |
let myFiles = {filesCount: 100, files:[]}; | |
myFiles.filesCount &&= 5; | |
console.log(myFiles); // This will print: {filesCount: 5, files: Array(0)} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// In the example, the ??= will check if the lastname is null or undefined. | |
// If null or undefined, then the right value will be assigned to the left variable. | |
let userDetails = {firstname: 'Katina', age: 24} | |
userDetails.lastname ??= 'Dawson'; | |
console.log(userDetails); // This will print: {firstname: 'Katina', age: 24, lastname: 'Dawson'} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Let's create a class named Str. | |
class Str { | |
// The private attributes can be created by prepending '#' | |
// before the attribute name. | |
#uniqueStr; | |
constructor() {} | |
// A private Setters can be created by prepending '#' before | |
// the Setter name. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Let's create a class named User. | |
class User { | |
constructor() {} | |
// The private methods can be created by prepending '#' before | |
// the method name. | |
#generateAPIKey() { | |
return "d8cf946093107898cb64963ab34be6b7e22662179a8ea48ca5603f8216748767"; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a Promise. | |
const promise1 = new Promise((resolve, reject) => { | |
// After 2 seconds resolve the first promise. | |
setTimeout(() => resolve("The first promise has been resolved."), 2000); | |
}); | |
// Create a Promise. | |
const promise2 = new Promise((resolve, reject) => { | |
// After 1 second resolve the second promise. | |
setTimeout(() => resolve("The second promise has been resolved."), 1000); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// In the example, the ||= will check if the songsCount is false (0). | |
// If false, then the right value will be assigned to the left variable. | |
let myPlaylist = {songsCount: 0, songs:[]}; | |
myPlaylist.songsCount ||= 100; | |
console.log(myPlaylist); // This will print: {songsCount: 100, songs: Array(0)} |