1. 3 件のとき
  2. 1 件のときは改行が入らない
  3. 空の配列のとき
コース一覧
Node.js入門
スクリプトを実行する

Node.js入門

Node.jsの実行モデル、npm、Expressによるルーティング、REST API設計、データベース接続、トランザクションを使った購入処理、トークン認証まで、バックエンド開発の基礎を、毎レッスン実際にコードを書き、フリマアプリのAPIを自分の手で作りながら学びます。

1
Node.jsとは
01. Node.jsとは15分
02. スクリプトを実行する15分
03. npmとは15分
04. package.json15分
05. npmスクリプト15分
06. つくる:プロジェクト始動20分
07. 第1章クイズ10分
2
モジュールと非同期の復習
01. import/export15分
02. ファイルを読み書きする15分
03. async/await復習15分
04. JSONの取り回し15分
05. つくる:データ層20分
06. 第2章クイズ10分
3
はじめてのサーバー
01. サーバーとリクエスト15分
02. Expressを導入する15分
03. ルーティング15分
04. JSONを返す15分
05. 開発の回し方15分
06. つくる:サーバー始動20分
07. 第3章クイズ10分
4
REST APIのきほん
01. RESTの考え方15分
02. 一覧を返す15分
03. 1件を返す15分
04. 登録を受ける15分
05. 更新と削除15分
06. ステータスコード15分
07. つくる:商品CRUD完成20分
08. 第4章クイズ10分
5
リクエスト処理と検証
01. クエリパラメータ15分
02. 並び替えとページング15分
03. 入力検証15分
04. ミドルウェア15分
05. エラーハンドリング15分
06. つくる:検索API完成20分
07. 第5章クイズ10分
6
データベース接続
01. DBにつなぐ15分
02. 一覧・詳細をDB化15分
03. 出品をDB化15分
04. SQLインジェクション20分
05. 更新・削除をDB化15分
06. 購入トランザクション20分
07. つくる:DB版fleama20分
08. 第6章クイズ10分
7
認証のきほん
01. 認証と認可15分
02. パスワードハッシュ15分
03. ログインとトークン15分
04. 保護ルート15分
05. 本人のものだけ15分
06. つくる:認証完備20分
07. 第7章クイズ10分
8
総合制作
01. fleama API完成20分
02. Reactと接続する20分
03. サーバーで常駐させる20分
04. 自由拡張20分
05. 完成と次のステップ15分

スクリプトを実行する

ファイルを渡して動かす

Node.js でプログラムを動かすときは、ファイルの名前を渡すだけです。

プレーンテキスト

node app.js

これで app.js が上から順に実行されます。ブラウザのように HTML を用意して script タグから読み込む、という手順は要りません。ファイルが直接プログラムの入り口になります。

表示は console.log のまま

表示の書き方は、ブラウザで使っていたものと同じです。

JavaScript

console.log("fleama を起動します");

違うのは出る場所です。ブラウザでは開発者ツールのコンソールに出ますが、Node.js ではコマンドを打った画面にそのまま出ます。

fleama の商品データ

このコースでは、フリマアプリ fleama の商品データを題材に進めます。最初はこういう配列です。

JavaScript

const items = [ { id: 1, name: "レザースニーカー", price: 4800, sold: false }, { id: 2, name: "古着のデニムジャケット", price: 6200, sold: false }, { id: 3, name: "木製のスツール", price: 3500, sold: true }, ];

この配列は、章が進むにつれてファイルへ移り、最後はデータベースへ移ります。いまは配列のままで構いません。

一覧を読める形に整える

配列をそのまま console.log すると、機械向けの表示になって読みにくいままです。人が読む形に整えるのは、いつも自分の仕事です。

JavaScript

for (const item of items) { console.log(item.name + " " + item.price + "円"); }

このくらいの整形が、あとで API の応答を組み立てるときの下地になります。API も結局は「持っているデータを、相手が読める形に整えて渡す」仕事だからです。

手を動かす

演習では、商品の配列を受け取って一覧の文字列を作る関数を書きます。表示そのものではなく、表示する文字列を組み立てるところを書いてください。組み立てと出力を分けておくと、あとで同じ関数を API から使い回せます。

要件

  1. 1 件を 名前 価格円 の形にする(名前と価格のあいだは半角スペース 1 つ)
  2. 複数件のときは改行 \n でつなぐ
  3. 配列が空のときは空文字 "" を返す

入出力例

formatItems([{"id":1,"name":"レザースニーカー","price":4800},{"id":2,"name":"古着のデニムジャケット","price":6200},{"id":3,"name":"木製のスツール","price":3500}]) → "レザースニーカー 4800円 古着のデニムジャケット 6200円 木製のスツール 3500円" formatItems([{"id":1,"name":"レザースニーカー","price":4800}]) → "レザースニーカー 4800円" formatItems([]) → ""

ヒント

まず 1 件分の文字列を作る形を考えます。`item.name + " " + item.price + "円"` です

各行をいったん配列に貯めておくと、あとでつなぐのが楽になります

配列を改行でつなぐには `join("\n")` が使えます。空の配列なら空文字になります

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/08/10

関連レッスン

  • npmとは

    パッケージを導入して使い、npmが何を解決するのかを説明できるようになります。

  • package.json

    fleamaプロジェクトを初期化し、package.jsonでプロジェクトを定義できるようになります。

  • npmスクリプト

    npm run devを定義し、起動コマンドを整備できるようになります。

  • つくる:プロジェクト始動

    第1章の知識を統合し、fleamaの土台一式を初期化できるようになります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • Node.jsJavaScript をサーバ側で動かすランタイム
  • ブラウザユーザーから見たWebのクライアント
  • HTMLHyperText Markup Languageの略。
  • 配列サイズ固定の同型データの集まり
  • データベースデータを構造化して保存する仕組み
  • エンドポイント「この URL を叩くとこの機能が動く」入口の住所
  • APIアプリ間でデータをやり取りする窓口
  • 関数処理に名前を付けて再利用できる単位
main.js
学習モード
エディタを読み込んでいます

メモ

スクリプトを実行する

⌘S で保存