// Flatten one level:constarray=[1,[2,[3]]]array.flat()// -> [1, 2, [3]]// flatten recursively until the array contains no more nested arrays:array.flat(Infinity)// -> [1, 2, 3]
array.flatMap()
object.fromEntries()
// convert object into mapconstmap=newMap(Object.entries(object))// convert map into objectconstobject=Object.fromEntries(map)
globalThis value
new Intl
top level await
Promise.allSettled - All APIs called are finish (no matter success or fail)
Promise.any - Any of the promise is fulfilled, catch when all of the promises are rejected
WeakMap and WeakSet, WeakRef
Project bundle improvement
webpack-bundle-analyzer <<< check for big dependencies and reasonable dependencies in the bundle
source-map-explorer <<< show detailed of minified code, example duplicate code in the bundle
Securing Web Apps with Modern Platform Features
Nonce-based CSP (Prevent Script XSS)
Trusted Types (Prevent DOM XSS)
Fetch Metadata request headers
Cross-Origin Opener Policy
Going Big: PWAs Come to Desktop and Chrome OS
More native-app-likes feature are coming
Rendering on the Web: Performance Implications of Application Architecture (Server side rendering)
Streaming html to client to reduce first byte time (used for chunk that is at least 16kb)
Partial and Progressive hydration
Truth about SEO
Client-side rendering will negatively affect SEO for crawlers that do not support Javascript
There are ways to improve the discoverability of client-side rendered site without full SSR
Protecting Users from Deception
FIDO
FIDO2
Implement WebAuthn Create and Get methods
Unlocking New Capabilities for the Web
Web Share API
Intersection Observer API
Web Bluetooth API
Web Share Target
Media Session API
Shapde Detection API
Badge for installed app
Wake lock API
File System
Serial API
WebHID
Contacts Picker
Font Access API
Taking Chrome Full Screen with Trusted Web Activities