【のーどじぇいえす】

Node.js とは?

💡 JavaScriptをブラウザの外で走らせる実行環境
📌 このページのポイント
Node.js — イベントループの仕組み イベント ループ (シングルスレッド) リクエストキュー リクエスト1 リクエスト2 リクエスト3 ... 非同期I/O ファイル読込 DB問合せ API通信 タイマー コールバック シングルスレッドで非同期I/Oを効率的に処理する
Node.js(イベントループ)のイメージ
ひよこ ひよこ

Node.jsって何をするものなの?

ペンギン先生 ペンギン先生

JavaScriptはもともとブラウザの中でしか動かなかったんだけど、Node.jsが登場したことでサーバーやPC上でも動かせるようになったんだ。「JavaScriptの動かせる場所を広げた」って感じだよ。

ひよこ ひよこ

サーバーで動くと何がうれしいの?

ペンギン先生 ペンギン先生

フロントエンドブラウザ側)もバックエンドサーバー側)も同じJavaScriptで書けるようになるんだ。言語を使い分ける必要がなくなって、開発チームが「フロントもバックもJavaScript組」で統一できるよ。

ひよこ ひよこ

npmってよく聞くけど何?

ペンギン先生 ペンギン先生

「Node Package Manager」の略で、ライブラリを管理する仕組みだよ。`npm install react` みたいにコマンド一発で世界中の誰かが作ったライブラリを自分のプロジェクトに追加できるんだ。世界最大のライブラリ配布システムだよ。

ひよこ ひよこ

イベントループって何?Node.jsの説明でよく出てくる。

ペンギン先生 ペンギン先生

ここが中上級者でも難しいポイントだよ。Node.jsは一本の線(シングルスレッド)しか持っていないのに、「ファイルを読み込む間に別の仕事もする」という並行処理ができる。それを実現しているのがイベントループという仕組みで、「非同期処理が終わったらコールバックキューに積んで、メインスレッドが空いたら実行する」という仕組みなんだ。どの処理がどのタイミングで実行されるかは、理解していないとバグの原因になることがあるよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Node.js」って出てきたら「JavaScriptサーバーや自分のPCで動かすための環境」と思えばだいたいOK!
📖 おまけ:英語の意味
「Node.js」 = ノード(節・接点)+JavaScript
💬 ネットワークの「節(ノード)」として機能するJavaScript環境という意味だよ
← 用語集にもどる