setTimeoutに大きい数値を与えるとどうなる? 仕様を読んで完全理解2020年9月6日 公開JavaScriptECMAScriptWebIDLHTMLJavaScriptではsetTimeoutという関数を使うことができます。 しかし、実はこの関数は言語仕様(ECMAScript)に組み込まれているものではありません。 ブラウザ上で動くJavaScriptの場合、setTimeoutはHTMLの仕様によって定義されています…全文を見る
react-routerで現在のlocationを取得する2種類の方法の使い分け方2020年6月10日 公開 / 2020年6月10日 更新ReactJavaScriptSPAを作る際は、URLを変化させたり、URLの変化に反応して画面を変えたりする必要があります。このために使われるのがルーティングライブラリです。Reactにおいては、react-routerが代表格として知られています。 react…全文を見る
import文で画像やCSSを読み込むのはECMAScript仕様違反か2020年6月7日 公開 / 2020年6月7日 更新JavaScriptECMAScript近頃のJavaScript開発は、モジュールとして書かれた複数のJavaScriptファイルをimport文やexport文を通じて連携させるのが基本です。また、それらのファイルはWebpackに代表されるバンドラによって事前に処理され、import文の解決…全文を見る
JavaScriptのthisは結局何種類あるのか2020年5月30日 公開 / 2020年5月31日 更新JavaScriptECMAScriptJavaScriptのややこしい機能としてよく槍玉に挙げられるのがthisです。その特徴のひとつは状況によって意味(thisの値)が違うことであり、これを指して「JavaScriptのthisは4種類」とする説も見られます。 そこで、この記事ではthisが何種類あるのか、ECMA…全文を見る
useEffectのdeps比較関数をカスタムしたくなったときにやること2020年5月25日 公開ReactJavaScriptReactにおいて、useEffectなどいくつかのフックは第2引数として依存リストを取ります。 例えばuseEffectの場合、レンダリングの度に依存リストのいずれかの値が前回から変化したかどうかがチェックされ、変化していた場合はレンダリング後にコールバック関数が呼び出されます…全文を見る
作って理解するBabelマクロ2020年5月22日 公開JavaScriptBabelbabel-plugin-macrosBabelは今どきのJavaScript開発には欠かせないパーツのひとつです。その主な使い道は、新しいJavaScriptの文法を古いJavaScriptに変換するトランスパイラとしてのものでしょう。しかし、Babelをより広範にマクロの機構として使おうという動きもあります…全文を見る
Facebook製の新しいステート管理ライブラリ「Recoil」を最速で理解する2020年5月15日 公開ReactRecoilJavaScript昨日、Facebook製のReact用ステート管理ライブラリ**Recoil**が発表されました。Facebook製といってもReact公式のステート管理ライブラリとかそういう位置付けではないようですが、それでも大きな注目を集めているのは間違いありません。 そこで…全文を見る
GatsbyでFont Awesomeを使用するとアイコンの表示が一瞬遅れる問題について2020年5月10日 公開GatsbyJavaScriptGatsbyは最近流行りの静的サイトジェネレータで、このブログでも使用しています。 Font Awesomeは何か昔から流行っているフリーのアイコン集で、このブログでも使用しています。 両者の組み合わせることも非常によくあるらしく、"Gatsby FontAwesome…全文を見る