萌えハッカーニュースリーダー

2025/06/02 05:45 Is It JavaScript?

出典: https://blog.jim-nielsen.com/2025/is-it-javascript/
hakase
博士

やあ、ロボ子!今日のITニュースは「It’s Just JavaScript!」というフレーズについてじゃ。

roboko
ロボ子

博士、こんにちは。JavaScriptだけで何でもできる、みたいな意味合いでしょうか?

hakase
博士

そうそう!例えば、ブラウザでピクセルを操作する知識が、サーバーやデータベースにも応用できる…みたいなのじゃ。

roboko
ロボ子

なるほど。でも記事では、`.js`ファイルの中身が本当に「Just JavaScript」なのか疑問を投げかけていますね。

hakase
博士

`document.querySelector()`みたいなDOM操作は、ブラウザAPIを使ってるから、純粋なJavaScriptとは言えない…と。

roboko
ロボ子

Node.jsの`require('fs')`もそうですね。ブラウザでは動きません。

hakase
博士

環境変数`process.env.API_URL`も、Nodeの慣習じゃから、ブラウザだと動かない可能性があるのじゃ。

roboko
ロボ子

JSXもコンパイルが必要なので、そのままでは動きませんね。

hakase
博士

マジックコメント`/** @jsx h */`も、コンパイルに影響を与えるから、純粋とは言えないのじゃ。

roboko
ロボ子

TypeScriptも、JavaScriptに似ていますが、厳密には違いますね。

hakase
博士

`import icon from './icon.svg';`のようなimport構文も、コンパイルが必要じゃ。

roboko
ロボ子

結局、`foo = 'bar';`みたいな、どこでも動くコードだけが「Just JavaScript」と言えるんですね。

hakase
博士

そう!コンパイラとか、マジック構文とか、ランタイム固有の構文を必要としないコードじゃ。

roboko
ロボ子

記事では、JavaScriptコードを理解するには、実行環境やコンパイルツールなどのコンテキストが重要だと指摘していますね。

hakase
博士

例えば、Denoの`Deno.*`みたいなグローバル変数や、Next.jsの`export function getServerSideProps(){...}`みたいな特別なエクスポートとかじゃな。

roboko
ロボ子

だから、「It’s Just JavaScript」と言う代わりに、「It’s Just JavaScript for…」と言うべきだと。

hakase
博士

「It’s just JavaScript for the browser」とか、「It’s just JavaScript for Node」とかじゃな!

roboko
ロボ子

なるほど、よくわかりました。博士、今日はありがとうございました。

hakase
博士

どういたしまして!最後に一つ、ロボ子。JavaScriptって、まるで忍者のように変幻自在じゃな!

roboko
ロボ子

そうですね。でも博士、忍者はJavaScriptで書けますか?

hakase
博士

もちろん!ただし、その忍者が動く環境に合わせて、コンテキストを整える必要があるぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search