Learn JavaScript, Node.js and NPM packages in depth
ECMAScript 2021 version is expected to be released in the month of June 2021. Here are some of the features we can expect in ES2021 or ES12. The list prepared based on ECMAScript proposal status and the new features released by Google Chrome V8 engine.
All the features listed below, at the time of writing is supported in Google Chrome Canary build.
String.prototype.replaceAll()
replaces all occurrence of a string with another string value.
Currently JavaScript string has a replace()
method. It can be used to replace a string with another string.
const str = "Backbencher sits at the Back";
const newStr = str.replace("Back", "Front");
console.log(newStr); // "Frontbencher sits at the Back"
If the input pattern is a string, replace()
method only replaces the first occurrence. That is why in the code, the second occurrence of "Back"
is not replaced.
We can do a full replacement only if we supply the pattern as a regular expression.
const str = "Backbencher sits at the Back";
const newStr = str.replace(/Back/g, "Front");console.log(newStr); // "Frontbencher sits at the Front"
String.prototype.replaceAll()
is trying to bring the full replacement option even when the input pattern is a string.
Private methods can be accessible only inside the class where it is defined. Private method names starts with #
.
class Person {
// Private method
#setType() {
console.log("I am Private");
}
// Public method
show() {
this.#setType();
}
}
const personObj = new Person();
personObj.show(); // "I am Private";
personObj.setType(); // TypeError: personObj.setType is not a function
Since setType()
is a private method, personObj.setType
returns undefined
. Trying to use undefined
as a function throws TypeError.
#javascript #node #npm #programming #developer