“JavaScript for impatient programmers” is now “Exploring JavaScript”. You’ll be transported to the new website.
“JavaScript for impatient programmers” is now “Exploring JavaScript”. You’ll be transported to the new website.
Dynamic import() introduces a new function-like form of import that unlocks new capabilities compared to static import. This article compares the two and gives an overview of what’s new. Static import (recap) #Chrome 61 shipped with support for the ES2015 import statement within modules. Consider the following module, located at ./utils.mjs: // Default export export default () => { console.log('Hi
Optional Chaining github.com // before const fooInput = myForm.querySelector('input[name=foo]'); const fooValue = fooInput ? fooInput.value : undefined; // after const fooValue = myForm.querySelector('input[name=foo]')?.value; const obj = { foo: { bar: { baz: 42 } } }; obj?.foo?.bar?.baz; // 42 obj?.qux?.baz; // undefined obj?.foo.bar.qux?.(); // undefined function test() { return 42; } test?.();
Update 2018-01-25: This proposal has reached stage 4 and will be part of ECMAScript 2018. The ECMAScript proposal “Rest/Spread Properties” by Sebastian Markbåge enables: The rest operator (...) in object destructuring. At the moment, this operator only works for Array destructuring and in parameter definitions. The spread operator (...) in object literals. At the moment, this operator only works i
I’ve recently started to see a trend of methods prefixed with the underscore character in one of our projects at Sky. This is good in the sense that as our application is growing, and the number of methods we expose in our classes grows with it, the developers are considering what the public interfaces to these classes look like and finding a common pattern to distinguish the private interfaces. H
What is Proxy The Proxy object is used to define custom behavior for fundamental operations (e.g. property lookup, assignment, enumeration, function invocation, etc). オブジェクトをラップし、オブジェクトが持つ基本的な機能(obj.keyと書いてvalueを取得する機能など)を上書くことができるのがProxy Objectです。 (高機能なオブジェクトを生成することができる、けっこうイカした仕様だと思います😋) つかいかた 詳細な用法やパラメータの説明は MDNに任せるとして、基本的なSyntaxだけ記します。
A proposed “spec mode” for Babel makes transpiled ES modules more spec-compliant. That’s a crucial step in preparing for native ES modules. You’ll also learn how ES modules and CommonJS modules will interoperate on Node.js and how far along ES module support is on browsers and Node.js. Update 2017-05-08: follow-up blog post: Module specifiers: differences between CJS and ESM Transpiling ES modules
This book is dedicated to the impossible girl, who has taught me so much about love and life.
Here I’m presenting two cool little functions that are making my days spent in the JS Promise land just a bit happier. All code snippets are written using ECMAScript 2015. So, I’ve often found myself writing code like this: const getUser = (id) => { return httpClient.get('https://facebook.com/user/' + id) .then((response) => { // Side Effects Logic return cacheData(response); }) .then((response) =
はじめに JavaScriptは非同期処理との闘いです。 人類が非同期処理を倒すために、Promiseやasync-awaitという最終兵器を生み出して、劇的にクリーンで平和な世界が生まれたという話は以前しました => (もしかして: JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版) しかあぁし!!! 甘い、甘いのですよ!!!!! 人類を苦しめ続ける非同期処理が、そんな簡単に完全に倒せるわけがないのですよ。 非同期処理の本当にヤバイ深淵、それが「例外処理」です。 みなさんはPromiseで開発していて、 「なんか途中までうまく行ってたんだけど気づいたら例外が外側に飛ばなくなった…なんでだ…」 「助けて!Promiseにcatch書いてるのに何故か例外がcatch出来ないの!!!」 という経験はないでしょうか。私は何度もあります。 この記事では、具体的に何
はじめに ECMAScript2015(第6版、通称ES6)が承認され、Babelも登場し、世はまさにES2015時代。なのだけど、JavaScript初級者としてはES5自体をちゃんと把握していなかったりするので、今さらながら調べてみることにした。 間違っている所があれば、ご指摘いただけると大変助かります。 ECMAScript5で追加されたもの ECMAScript5 compatibility tableにて、ES5で追加された機能がどのブラウザに対応しているかが分かる。また、es5-shimというライブラリが、古いブラウザでES5の一部の機能が実装可能になる。 基本的には、IE9以上/iOS7以上、それ以外はモダンなブラウザであれば大抵対応している。 use strict スクリプトの先頭、もしくは関数内の先頭に記載することでstrict modeで実行される。自分が書いているもの
概要 非同期な処理を同期的に書ける関数タイプが実装された。 基本 「async」キーワードに続けて関数定義を書くと、async関数となる。 async function afn1() { } afn2 = async () => { } obj = { async afn3() { } } async関数を呼び出すとプロミスが返される。 console.log( afn1() ) // <Promise> このプロミスは、async関数が終了するとその返り値で解決され、例外が起こると棄却される。 async function afn4( flag ) { if ( flag ) return 'Yes' else throw 'No' } afn4( true ).then( v => console.log( v ) ) /// "Yes" afn4( false ).catch( v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く