先日、次のような Tweet を見かけました
TIL I discovered that TensorFlow.js uses an interesting trick to sniff your CPU architecture in WebAssembly. pic.twitter.com/LVyywIM48I
— Robert Knight (@robknight_) January 4, 2023
面白かったので、なぜこうなるのかの解説と、ついでにこのテクニックを使った JIT 検知方法などについて紹介します。
2023 年、あけましておめでとうございます!私は元旦に次のようなオリジナル・パズルを出しました。
上の例のように、数字の合間に四則演算(+−×÷)や括弧を入れることで、2023 を作ってください。
オリジナルツイートはこちらです。この記事では、JavaScript によるこのクイズの解き方をご紹介します。
setTimeout
は、指定された時間以降に指定されたコードを実行する JavaScript の API です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout
を可能な限り深堀りしてみようと思います。
先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout
について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout
を学ぼう、という方には全然向かないと思います。
また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さんの書かれた「イベントループとプロミスチェーンで学ぶJavaScriptの非同期処理」という本の中の「それぞれのイベントループ」を読んで頂けると良いかと思います。
JavaScript を書いたことがある人ならば一度は使うであろう console.log
ですが、この関数は思ったよりも厄介な性質を持っています。その性質を知らずに console.log
を使うと、デバッグ時に大ハマリしてしまうことがあります。この記事では console.log
の落とし穴についてお話します。
今回は Chrome に特化して解説しますが、Firefox や Safari でも同じ落とし穴があります。
JavaScript で頻出する undefined
と null
について語ります。