Update 2018-12-20: Warning: This blog post is outdated! Consult “ECMAScript modules in Node.js: the new plan” for the latest information. Update 2017-05-11: Complete rewrite of Sect. “Why a new filename extension for ES modules?”. This blog post describes how module specifiers (the path-like IDs of modules) change with ECMAScript modules (ESM). There are a few subtle differences, compared to the f
ES6 modules are now supported in Chrome, from 61 onwards—they also work in older versions, but you’ll have to enable the Experimental Web Platform flag in chrome:flags. Chrome now joins many other modern browsers which also include support, some behind flags. 🚩 Modules are an important part of building any web application which comprises more than trivial script. The JavaScript community has deve
In this course we will learn how to use the ES2017 async and await keywords to write asynchronous code that is more readable and easier to follow than equivalent code based on long promise chains or deeply nested callbacks. The await operator takes a promise and then pauses the function execution until that promise is settled which allows for an async function to read like sequential synchronous c
*Prepack is still in an early development stage and not ready for production use just yet. Please try it out, give feedback, and help fix bugs. What does it do? Prepack is a tool that optimizes JavaScript source code: Computations that can be done at compile-time instead of run-time get eliminated. Prepack replaces the global code of a JavaScript bundle with equivalent code that is a simple sequen
ES modules are now available in browsers! They're in… Safari 10.1. Chrome 61. Firefox 60. Edge 16. <script type="module"> import { addTextToBody } from './utils.mjs'; addTextToBody('Modules are pretty cool.'); </script> // utils.mjs export function addTextToBody(text) { const div = document.createElement('div'); div.textContent = text; document.body.appendChild(div); } Live demo. All you need is t
Update 2019-01-29: The following new Array methods were just added to ECMAScript 2019 (based on a proposal by Michael Ficarra, Brian Terlson, Mathias Bynens): The new Array method .flatMap() is equivalent to the function flatMap() described in this blog post. The new Array method .flat() is equivalent to the function flatten() described in this blog post. In this blog post, we look at the operatio
Streaming fetches are supported in Chrome, Edge, and Safari, and they look a little like this: async function getResponseSize(url) { const response = await fetch(url); const reader = response.body.getReader(); let total = 0; while (true) { const { done, value } = await reader.read(); if (done) return total; total += value.length; } } This code is pretty readable thanks to async functions (here's a
In my previous post, I discussed things that could be fixed in JavaScript’s date implementation – if we wanted to. In this post, I’ll discuss things that can’t be fixed – no matter how much we want them to be. No Semantic Versioning Here! Most developers are familiar with Semantic versioning, or semver. In semver, we have the idea of three kinds of release: Patch – releases that fix bugs only Mino
In this article we’ll take a look at regular expressions in and after ES6. There’s a couple of regular expressions flags which were introduced in ES6: the /y or sticky flag, and the /u or Unicode flag. Then we’ll discuss five proposals which are making their way through the ECMAScript specification development process at TC39. Sticky Matching Flag /y The sticky matching y flag introduced in ES6 is
Async/await in Node.js opens up a host of powerful design patterns. Tasks that used to take complex libraries or intricate promise chaining can now be done with rudimentary if statements and for loops. I already wrote about these kind of design patterns with co, but async/await makes these patterns accessible in vanilla Node.js, no outside libraries required. Retrying Failed Requests The power of
ECMAScript® 2017 Language Specificationをアプリとして開けるWebViewアプリです。 ECMAScript仕様書アプリhttps://t.co/twhhFqPca8 pic.twitter.com/bs2onkxNDo — azu (@azu_re) February 23, 2017 Electron製なのでどのプラットフォームでも動くと思います。 作り方 nativefierを入れます。 サイト内検索をするin-site-search-javascriptを入れます。 ビルドします。 npm i -g nativefier curl https://azu.github.io/in-site-search-javascript/index.js > index.js nativefier --name "ECMAScript" "https://
Native ECMAScript modules: nomodule attribute for the migration Serg Hospodarets Blog In one of my previous articles Native ECMAScript modules: the new features and differences from Webpack modules we attempted to detect if the browser supported ES modules. We needed this to determine either, to execute a bundled (classic) file or a script which uses the native ECMAScript module features. We manag
Intro textarea などに入力された文字数を、JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID の
After the release of ECMAScript 2015, a.k.a. ES6, the ECMAScript Language Specification is evolving rapidly: it’s getting many new features that will help developing web applications, with a new release planned every year. Last week, Firefox Nightly 54 reached 100% on the Kangax ECMAScript 2016+ compatibility table that currently covers ECMAScript 2016 and the ECMAScript 2017 draft. Here are some
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く