2020
30 featuresThe Promise.allSettled() static method waits for an array of promises to settle (resolve or reject).
The min() and max() CSS functions return the minimum or maximum of the arguments, while clamp() clamps a value to a given range.
The revert CSS keyword resets any property to its previous default, provided by either the user or browser stylesheets. For example, setting display: revert on a <div> will likely result in display: block, the browser default style. This is often confused with initial.
The image-orientation CSS property corrects the rotation of an image using the image's metadata, such as EXIF.
The WEBGL_compressed_texture_etc extension for WebGL 1.0 and 2.0 contexts adds many ETC2 and EAC compressed texture formats to compressedTexImage2D() and compressedTexSubImage2D().
The WEBGL_compressed_texture_etc1 extension for WebGL 1.0 and 2.0 contexts adds the ETC1 compressed texture format to compressedTexImage2D() and compressedTexSubImage2D().
Mutable global variables are importable and exportable.
The overflow CSS property sets the behavior for when content doesn't fit in an element.
The #! comment at the absolute start of a script or module is treated as a normal comment and is ignored by the JavaScript engine.
The fill-opacity, and stroke-opacity SVG attributes and CSS properties control the transparency of a stroke or fill of an SVG element.
The Q CSS length unit is an absolute length anchored to the physical measurement of quarter-millimeters. 1Q is equivalent to 1/40 of 1 centimeter.
The font-optical-sizing CSS property sets whether text rendering is optimized for viewing at different sizes.
The EXT_sRGB extension for WebGL 1.0 contexts adds sRGB support to textures and framebuffer objects.
The getVideoPlaybackQuality() method of HTMLVideoElement returns metrics that can be used to determine the playback quality of a video, such as how many frames were dropped.
The PNG (Portable Network Graphics) image format is a raster graphics file format with animation, alpha transparency, and lossless compression.
The font-stretch CSS property selects a font face from a font family based on width, either by a keyword such as condensed or a percentage.
The scrollIntoView() method scrolls an element's ancestor containers such that the element is visible to the user.
The Sourcemap HTTP response header links generated code to a source map, so the browser shows the original source in a debugger. This makes it easier to work with minified or transpiled code.
The ImageBitmapRenderingContext API is the "bitmaprenderer" rendering context for the <canvas> element. It is commonly used to transfer frames from an OffscreenCanvas to a user-visible <canvas> element.
The clip-path property can be animated using CSS transitions and animations.
The dominant-baseline CSS property sets the specific baseline used to align an elements's text and inline-level contents.
The File API represents and reads from file data and metadata. Typically, you get files through other APIs, such as the <input type="file"> element or drag-and-drop events. You may also send file data to other APIs, such as creating images or drawing on canvases.
The rel="preconnect" attribute for the <link> HTML element is a hint to the browser that the page or user is likely to request resources from another origin, so the browser should preemptively start a connection to the href value's origin.
The DOMMatrix, DOMPoint, DOMQuad and DOMRect APIs represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. They can be used in transformations in CSS, <canvas>, and SVG.
The globalThis property accesses the global this value (and hence the global object itself) across environments.
Omit the binding parameter of a catch clause when you don't need information about the exception in a try ... catch statement.
Template literals are literals delimited with backtick (`) characters, allowing for multi-line strings, string interpolation with embedded expressions, and special constructs called tagged templates.
The destructuring assignment syntax is a JavaScript expression that unpacks values from arrays, or properties from objects, into distinct variables.
The spread (...) syntax allows an iterable, such as an array or string, to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected.
The TextEncoder API transforms a stream of code points into a byte stream with UTF-8 encoding, and TextDecoder does the reverse.