State of JS (2019 – 2020)
The Year of TS
Still most popular lib after JQuery
W3Techs
The Rise of Web Components
Disappearing Frameworks
Isomorphic ES modules
Highest Interest in GraphQL
New JS features coming soon
Object.fromEntries()
Dynamic import
String.prototype.matchAll()
Promise.allSettled()
Optional Chaining
Null Coalescing Operator
BigInt
let bigInt = 4n
console.log(bigInt * bigInt)
let bigInt = 4n + 2
console.log(bigInt)
BigInt(45) + 10n === 55n
45 + Number(10n) === 55
10 == 10n
// true
10 === 10n
// false
9 < 10n
// true
9n > 10
// false
BigInt
let bigInt = 4n
console.log(bigInt * bigInt)
let bigInt = 4n + 2
console.log(bigInt)
BigInt(45) + 10n === 55n
45 + Number(10n) === 55
10 == 10n
// true
10 === 10n
// false
9 < 10n
// true
9n > 10
// false
globalThis
globalThis.someFunction = () => 'hello'
console.log(globalThis.someFunction())
Node.js ES Modules
- Option 1: Rename .js files to .mjs files.
- Option 2: Update the root package.json file and specify the type as module.
// message file
async function sendMessage { ... }
export { sendMessage };
// index file
import { sendMessage } from "./message";
Node.js WebAssembly Modules
node --experimental-wasm-modules index.js
import * as imageUtils from "./imageUtils.wasm";
import * as fs from "fs";
( async () => {
const image = await fs.promises.readFile( "./image.png" );
const updatedImage = await imageUtils.rotate90degrees( image );
} )();
Node.js WebAssembly System Interface (WASI)
Node.js Full ICU since 13.x version
The End
State of JS (2019-2020)
By Nikita Malik
State of JS (2019-2020)
- 853