<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript | ビズドットオンライン</title>
	<atom:link href="https://it-biz.online/category/web-design/js/feed/" rel="self" type="application/rss+xml" />
	<link>https://it-biz.online</link>
	<description></description>
	<lastBuildDate>Tue, 09 Jun 2026 03:59:16 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://it-biz.online/wp-content/uploads/2019/10/cropped-4a332f05ade4ac7bb3c46c472cb5eac8-32x32.png</url>
	<title>JavaScript | ビズドットオンライン</title>
	<link>https://it-biz.online</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【JavaScript】CORSとは？Access-Control-Allow-Originの意味を初心者向けに解説</title>
		<link>https://it-biz.online/web-design/cors/</link>
		
		<dc:creator><![CDATA[bizonline_admin]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 03:59:15 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=11167</guid>

					<description><![CDATA[CORSとは、別オリジンのAPIレスポンスをブラウザが読めるかを、サーバーのHTTPヘッダーで判断する仕組みです。原因と直し方を初心者向けに解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">CORSとは、<strong><span class="marker-under">ブラウザで動くJavaScriptが、別オリジンのAPIレスポンスを読めるかどうかを、サーバーのHTTPヘッダーで判断する仕組み</span></strong>です。</p>



<p class="wp-block-paragraph">たとえば、<code>https://app.example.com</code> の画面から <code>https://api.example.com</code> のAPIを <code>fetch()</code> で呼び出すと、ブラウザは「この別の場所から返ってきたレスポンスをJavaScriptへ渡してよいか」を確認します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon">
  <div class="speech-person">
    <figure class="speech-icon"><img wpfc-lazyload-disable="true" decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure>
    <div class="speech-name"></div>
  </div>
  <div class="speech-balloon">
    <p>CORSエラーは、通信が一切サーバーへ届いていないという意味ではありません。多くの場合、ブラウザがレスポンスをJavaScriptへ渡さない状態です。</p>
  </div>
</div>



<p class="wp-block-paragraph">この記事では、CORSの意味、オリジンの考え方、<code>Access-Control-Allow-Origin</code> の役割、プリフライト、よくある直し方を初心者向けに整理します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">まず結論：CORSは別オリジンAPIの受付ゲート</a></li><li><a href="#toc2" tabindex="0">CORSエラーが出る典型例</a></li><li><a href="#toc3" tabindex="0">オリジンとは何か</a></li><li><a href="#toc4" tabindex="0">同一オリジンポリシーとCORSの関係</a></li><li><a href="#toc5" tabindex="0">CORSの流れ</a></li><li><a href="#toc6" tabindex="0">Access-Control-Allow-Originの意味</a></li><li><a href="#toc7" tabindex="0">プリフライトとは何か</a></li><li><a href="#toc8" tabindex="0">CORSエラーの直し方</a></li><li><a href="#toc9" tabindex="0">CORSと認証・CSRF対策の違い</a></li><li><a href="#toc10" tabindex="0">既存記事とあわせて読む順番</a></li><li><a href="#toc11" tabindex="0">公式情報と確認先</a></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">まず結論：CORSは別オリジンAPIの受付ゲート</span></h2>



<p class="wp-block-paragraph">CORSは、Cross-Origin Resource Sharingの略です。日本語では「オリジン間リソース共有」と説明されますが、最初は <strong>別のオリジンにあるAPIのレスポンスを、ブラウザ上のJavaScriptが読めるようにするための許可ルール</strong> と考えると分かりやすいです。</p>



<p class="wp-block-paragraph">重要なのは、CORSの判断をしている中心がブラウザだという点です。サーバーはレスポンスに許可ヘッダーを付け、ブラウザはそのヘッダーを見て、JavaScriptへレスポンスを渡すかどうかを決めます。</p>



<p class="wp-block-paragraph">次の図では、画面のJavaScript、ブラウザ、APIサーバーの間にある「受付ゲート」としてCORSを見てください。どこで許可を確認しているかを押さえると、エラーの読み方が変わります。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/06/cors-concept.png" alt="フロントエンド、ブラウザ、APIサーバー、CORS許可ヘッダーの関係を示す図"/><figcaption class="wp-element-caption">CORSは、別オリジンAPIのレスポンスをブラウザ上のJavaScriptへ渡してよいかを確認する受付ゲートです。</figcaption></figure>



<h2 class="wp-block-heading"><span id="toc2">CORSエラーが出る典型例</span></h2>



<p class="wp-block-paragraph">CORSエラーは、フロントエンドとAPIを別々の場所で動かすとよく出ます。学習中なら、ReactやVueなどの開発サーバーが <code>http://localhost:3000</code>、APIサーバーが <code>http://localhost:8080</code> という構成で起きやすいです。</p>



<pre class="wp-block-code"><code>fetch(&quot;http://localhost:8080/api/users&quot;)
  .then((response) =&gt; response.json())
  .then((users) =&gt; console.log(users));</code></pre>



<p class="wp-block-paragraph">このコード自体が間違っているとは限りません。問題は、ブラウザから見ると <code>localhost:3000</code> と <code>localhost:8080</code> はポートが違うため、別オリジンとして扱われることです。</p>



<p class="wp-block-paragraph">そのためAPIサーバー側が、<code>http://localhost:3000</code> からの読み取りを許可するヘッダーを返さないと、ブラウザはJavaScriptにレスポンスを渡しません。</p>



<h2 class="wp-block-heading"><span id="toc3">オリジンとは何か</span></h2>



<p class="wp-block-paragraph">オリジンとは、Web上の出どころを表す単位です。MDNの同一オリジンポリシーの説明でも、オリジンはスキーム、ホスト、ポートの組み合わせとして扱われます。</p>



<p class="wp-block-paragraph">スキームは <code>https</code> や <code>http</code>、ホストは <code>example.com</code> のような名前、ポートは <code>443</code> や <code>3000</code> のような番号です。どれか1つでも違うと、ブラウザは別オリジンとして扱います。</p>



<p class="wp-block-paragraph">次の図では、オリジンを3点セットとして見てください。CORSエラーの原因を探すときは、ドメインだけでなく、<code>http</code> と <code>https</code> の違いやポート番号の違いも確認します。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/06/cors-origin.png" alt="同一オリジンと別オリジンをスキーム、ホスト、ポートで比較する図"/><figcaption class="wp-element-caption">オリジンは、スキーム、ホスト、ポートの3点で決まり、1点でも違うと別オリジンです。</figcaption></figure>



<figure class="wp-block-table"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>比較</th><th>例</th><th>判定</th></tr></thead><tbody><tr><td>同じ</td><td><code>https://example.com/app</code> と <code>https://example.com/api</code></td><td>スキーム、ホスト、ポートが同じなので同一オリジン</td></tr><tr><td>スキーム違い</td><td><code>http://example.com</code> と <code>https://example.com</code></td><td>httpとhttpsが違うので別オリジン</td></tr><tr><td>ホスト違い</td><td><code>https://app.example.com</code> と <code>https://api.example.com</code></td><td>ホスト名が違うので別オリジン</td></tr><tr><td>ポート違い</td><td><code>http://localhost:3000</code> と <code>http://localhost:8080</code></td><td>ポートが違うので別オリジン</td></tr></tbody></table></div></figure>



<h2 class="wp-block-heading"><span id="toc4">同一オリジンポリシーとCORSの関係</span></h2>



<p class="wp-block-paragraph">ブラウザには、同一オリジンポリシーという重要なセキュリティの仕組みがあります。これは、あるオリジンで読み込まれた文書やスクリプトが、別オリジンのリソースへ自由にアクセスしないように制限する考え方です。</p>



<p class="wp-block-paragraph">もしこの制限がなければ、悪意のあるページが、利用者がログイン中の別サイトの情報をブラウザ経由で読み取れてしまう可能性があります。CORSは、この制限を壊す仕組みではなく、サーバーが明示的に許可した範囲だけ例外を作る仕組みです。</p>



<p class="wp-block-paragraph">つまり、同一オリジンポリシーは基本のブレーキ、CORSはサーバーが許可した相手だけに開くゲートです。</p>



<h2 class="wp-block-heading"><span id="toc5">CORSの流れ</span></h2>



<p class="wp-block-paragraph">CORSでは、ブラウザがリクエストに <code>Origin</code> ヘッダーを付けることがあります。APIサーバーは、そのOriginを見て、許可する場合はレスポンスに <code>Access-Control-Allow-Origin</code> を返します。</p>



<p class="wp-block-paragraph">次の図では、Origin、許可ヘッダー、ブラウザの照合、JavaScriptへの受け渡しの順番を見てください。CORSの主役が「ブラウザの照合」であることが分かります。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/06/cors-flow.png" alt="Originヘッダー、Access-Control-Allow-Origin、ブラウザ判定の流れを示す図"/><figcaption class="wp-element-caption">CORSでは、APIサーバーの許可ヘッダーをブラウザが照合し、JavaScriptへレスポンスを渡すか判断します。</figcaption></figure>



<pre class="wp-block-code"><code>Origin: https://app.example.com

Access-Control-Allow-Origin: https://app.example.com</code></pre>



<p class="wp-block-paragraph">上のように、リクエスト元のOriginと、レスポンスの <code>Access-Control-Allow-Origin</code> が対応していれば、ブラウザはレスポンスをJavaScriptへ渡せます。対応していなければ、コンソールにCORSエラーが表示されます。</p>



<h2 class="wp-block-heading"><span id="toc6">Access-Control-Allow-Originの意味</span></h2>



<p class="wp-block-paragraph"><code>Access-Control-Allow-Origin</code> は、APIサーバーが「このオリジンのJavaScriptには、レスポンスを読ませてよい」とブラウザへ伝えるレスポンスヘッダーです。</p>



<p class="wp-block-paragraph">開発中にすべてを許可したくなり、<code>*</code> を設定する例を見ることがあります。公開APIのように誰が読んでもよいリソースでは選択肢になりますが、ログイン情報やCookieを含むリクエストでは注意が必要です。</p>



<pre class="wp-block-code"><code>Access-Control-Allow-Origin: https://app.example.com
Vary: Origin</code></pre>



<p class="wp-block-paragraph">特定の画面からだけAPIを読ませたい場合は、上のように具体的なオリジンを返します。複数のオリジンを許可する場合でも、レスポンスには実際のリクエスト元に対応した1つのオリジンを返す実装が一般的です。</p>



<p class="wp-block-paragraph">また、Cookieなどの認証情報を含める場合は、<code>Access-Control-Allow-Credentials: true</code> やJavaScript側の <code>credentials: "include"</code> も関係します。この場合、<code>Access-Control-Allow-Origin: *</code> を安易に使えない点に注意します。</p>



<h2 class="wp-block-heading"><span id="toc7">プリフライトとは何か</span></h2>



<p class="wp-block-paragraph">プリフライトとは、本番のリクエストを送る前に、ブラウザが <code>OPTIONS</code> メソッドで事前確認する仕組みです。すべてのCORSリクエストで必ず発生するわけではありません。</p>



<p class="wp-block-paragraph">たとえば、<code>PUT</code> や <code>DELETE</code>、独自ヘッダー、JSONの <code>Content-Type: application/json</code> などが関係すると、ブラウザは先に「このメソッドやヘッダーで送ってよいか」をAPIサーバーへ確認することがあります。</p>



<p class="wp-block-paragraph">次の図では、プリフライトを「受付での事前確認」として見てください。OPTIONSが失敗すると、本番のPOSTやPUTの前に止まって見えることがあります。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/06/cors-preflight.png" alt="OPTIONSプリフライト、本番リクエスト、許可ヘッダーの関係を示す図"/><figcaption class="wp-element-caption">プリフライトは、本番リクエストの前にブラウザがOPTIONSで許可を確認する事前確認です。</figcaption></figure>



<pre class="wp-block-code"><code>OPTIONS /api/users HTTP/1.1
Origin: https://app.example.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type</code></pre>



<p class="wp-block-paragraph">APIサーバーは、この事前確認に対して、許可するメソッドやヘッダーを返します。ここで必要なヘッダーが不足していると、ブラウザは本番リクエストへ進めません。</p>



<h2 class="wp-block-heading"><span id="toc8">CORSエラーの直し方</span></h2>



<p class="wp-block-paragraph">CORSエラーが出たときは、まずブラウザのConsoleだけで判断せず、Networkタブで実際のリクエストとレスポンスヘッダーを見ます。特に、<code>Origin</code>、<code>Access-Control-Allow-Origin</code>、プリフライトの <code>OPTIONS</code> を確認します。</p>



<p class="wp-block-paragraph">次の図では、CORSエラーを調べる順番を見てください。フロントエンドの <code>fetch()</code> を何度も書き換える前に、APIサーバーがどのヘッダーを返しているかを確認するのが近道です。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/06/cors-fix.png" alt="CORSエラーの原因調査をブラウザ、ネットワーク、レスポンスヘッダー、サーバー設定の順に見る図"/><figcaption class="wp-element-caption">CORSエラーは、Console、Network、レスポンスヘッダー、サーバー設定の順で見ると原因を切り分けやすくなります。</figcaption></figure>



<ul class="wp-block-list is-style-icon-list-check has-list-style">
  <li>Consoleで、拒否されたOriginとURLを読む</li>
  <li>Networkで、OPTIONSが出ているか、本番リクエストまで進んでいるかを見る</li>
  <li>レスポンスに<code>Access-Control-Allow-Origin</code>があるか確認する</li>
  <li>許可したいOriginが、実際のOriginと完全一致しているか確認する</li>
  <li>Cookieを使う場合は、credentials設定とAllow-Credentialsを合わせて確認する</li>
</ul>



<p class="wp-block-paragraph">根本的な修正は、多くの場合APIサーバー側で行います。フロントエンド側でCORSヘッダーを追加しても、ブラウザが見ているのはAPIサーバーから返ってくるレスポンスヘッダーです。</p>



<h2 class="wp-block-heading"><span id="toc9">CORSと認証・CSRF対策の違い</span></h2>



<p class="wp-block-paragraph">CORSはセキュリティに関係しますが、認証や権限チェックそのものではありません。CORSを許可したからといって、ログイン不要で何でも見せてよいという意味にはなりません。</p>



<p class="wp-block-paragraph">認証は、利用者が誰かを確認する仕組みです。権限チェックは、その利用者がそのデータを見たり操作したりしてよいかを判断する仕組みです。CSRF対策は、利用者のブラウザを勝手に使った操作を防ぐための仕組みです。</p>



<p class="wp-block-paragraph">次の図では、CORS、認証、CSRF対策の役割を分けて見てください。CORSは「読む許可」の話であり、本人確認や権限確認の代わりではありません。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/06/cors-boundary.png" alt="CORS、認証、CSRF対策の役割の違いを分けて示す図"/><figcaption class="wp-element-caption">CORSはレスポンスを読めるかの判定であり、認証やCSRF対策とは役割が違います。</figcaption></figure>



<h2 class="wp-block-heading"><span id="toc10">既存記事とあわせて読む順番</span></h2>



<p class="wp-block-paragraph">CORSは、JavaScriptの <code>fetch()</code>、HTTPヘッダー、Web APIの理解とつながっています。先にAPIやHTTPの用語を押さえておくと、CORSエラーの原因を読みやすくなります。</p>



<ul class="wp-block-list">
  <li><a href="https://it-biz.online/web-design/fetch-api/">【JavaScript】fetch APIとは？GETとPOSTの使い方</a></li>
  <li><a href="https://it-biz.online/it-skills/web_api/">APIとは？APIとWeb APIの違い</a></li>
  <li><a href="https://it-biz.online/it-skills/rest-api/">REST APIとは何か？</a></li>
  <li><a href="https://it-biz.online/it-skills/http/">HTTPとは？HTTPSとは？</a></li>
  <li><a href="https://it-biz.online/web-design/async-await/">async/awaitとは？Promiseとの違い</a></li>
</ul>



<h2 class="wp-block-heading"><span id="toc11">公式情報と確認先</span></h2>



<p class="wp-block-paragraph">仕様として確認する場合は、WHATWG Fetch StandardとMDNのCORS、同一オリジンポリシーの説明を参照します。Fetch Standardは、fetch、CORSプロトコル、リダイレクトなど、ブラウザの取得処理を一貫した仕組みとして定義しています。</p>



<ul class="wp-block-list">
  <li><a href="https://fetch.spec.whatwg.org/">Fetch Standard</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS">MDN: Cross-Origin Resource Sharing</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy">MDN: Same-origin policy</a></li>
  <li><a href="https://developer.mozilla.org/en-US/docs/Web/Security/Practical_implementation_guides/CORS">MDN: CORS configuration</a></li>
</ul>



<h2 class="wp-block-heading"><span id="toc12">まとめ</span></h2>



<p class="wp-block-paragraph">CORSは、別オリジンのAPIレスポンスをブラウザ上のJavaScriptが読めるかどうかを、サーバーのHTTPヘッダーで判断する仕組みです。</p>



<ul class="wp-block-list is-style-icon-list-check has-list-style">
  <li>CORSは、別オリジンのレスポンスを読めるかを決めるブラウザ中心の仕組み</li>
  <li>オリジンは、スキーム、ホスト、ポートの3点で決まる</li>
  <li><code>Access-Control-Allow-Origin</code>は、APIサーバーが許可するOriginをブラウザへ伝えるヘッダー</li>
  <li>プリフライトは、本番リクエスト前のOPTIONSによる事前確認</li>
  <li>CORSは認証や権限チェックの代わりではない</li>
</ul>



<p class="wp-block-paragraph">CORSエラーが出たら、まずConsole、Network、レスポンスヘッダー、サーバー設定の順に見ます。フロントエンドだけで解決しようとせず、APIサーバーが正しい許可ヘッダーを返しているかを確認しましょう。</p>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】Promiseとは？then・catch・finallyとasync/awaitの読み方</title>
		<link>https://it-biz.online/web-design/js/javascript-promise/</link>
		
		<dc:creator><![CDATA[bizonline_admin]]></dc:creator>
		<pubDate>Thu, 07 May 2026 10:54:05 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=10771</guid>

					<description><![CDATA[Promiseを「将来の結果を受け取る仕組み」として、then・catch・finally、fetch、async/awaitの読み方まで初心者向けに整理します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">JavaScriptのPromiseとは、<strong><span class="marker-under">すぐには終わらない処理の結果を、あとで受け取るための仕組み</span></strong>です。</p>



<p class="wp-block-paragraph">Promiseが分かると、<code>fetch</code>、<code>then</code>、<code>catch</code>、<code>async/await</code> のコードを「何を待って、どこで結果を受け取るのか」という流れで読めるようになります。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon">
  <div class="speech-person">
    <figure class="speech-icon"><img wpfc-lazyload-disable="true" decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure>
    <div class="speech-name"></div>
  </div>
  <div class="speech-balloon">
    <p>Promiseは「結果そのもの」ではなく、「あとで結果を受け取る入口」です。最初はこの理解だけで十分です。</p>
  </div>
</div>



<p class="wp-block-paragraph">この記事では、Promiseの意味、3つの状態、<code>then</code>・<code>catch</code>・<code>finally</code>の使い方、fetchでつまずきやすいポイント、async/awaitとの関係を順番に解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">まず結論：Promiseは将来の結果を表すオブジェクト</a></li><li><a href="#toc2" tabindex="0">Promiseが必要になる場面</a></li><li><a href="#toc3" tabindex="0">Promiseの流れを図で見る</a></li><li><a href="#toc4" tabindex="0">pending・fulfilled・rejectedの3状態</a></li><li><a href="#toc5" tabindex="0">then・catch・finallyの役割</a></li><li><a href="#toc6" tabindex="0">fetchでよくある誤解：HTTPエラーは必ずcatchに入るわけではない</a></li><li><a href="#toc7" tabindex="0">async/awaitはPromiseを読みやすくする書き方</a></li><li><a href="#toc8" tabindex="0">最初に覚える判断基準</a></li><li><a href="#toc9" tabindex="0">Promise.allは最初から暗記しなくてよい</a></li><li><a href="#toc10" tabindex="0">コードレビューで見るポイント</a></li><li><a href="#toc11" tabindex="0">公式情報と関連して読みたい記事</a></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">まず結論：Promiseは将来の結果を表すオブジェクト</span></h2>



<p class="wp-block-paragraph">Promiseは、非同期処理の最終的な成功または失敗を表すオブジェクトです。MDNでも、Promiseは非同期処理の完了または失敗と、その結果の値を表すものとして説明されています。</p>



<p class="wp-block-paragraph">ただし、初心者のうちは仕様文を暗記するより、次の読み方を先に覚える方が実用的です。</p>



<pre class="wp-block-code"><code>非同期処理を始める
  ↓
Promiseが返る
  ↓
成功したら then
失敗したら catch
最後に finally</code></pre>



<p class="wp-block-paragraph">この時点で大事なのは、Promiseが返ってきても、まだ中身の結果を直接持っているとは限らないことです。結果はあとから成功または失敗として確定します。</p>



<h2 class="wp-block-heading"><span id="toc2">Promiseが必要になる場面</span></h2>



<p class="wp-block-paragraph">JavaScriptでは、通信、タイマー、ファイル読み込みのように、すぐ終わらない処理がよく出てきます。特にWebアプリでは、APIからデータを取る<code>fetch</code>が代表例です。</p>



<p class="wp-block-paragraph">通信が終わるまで画面全体を止めると、ユーザーは操作できません。そのためJavaScriptでは、通信を待っている間も他の処理を進め、結果が返ってきたときに続きを実行します。</p>



<p class="wp-block-paragraph">この「あとで続きを実行する」ための約束を整理するのがPromiseです。</p>



<h2 class="wp-block-heading"><span id="toc3">Promiseの流れを図で見る</span></h2>



<p class="wp-block-paragraph">次の図では、Promiseを「非同期処理の結果を、成功・失敗・最後の処理へ分けて受け取る流れ」として見てください。細かい用語より先に、左から右への読み順を作るのがポイントです。</p>



<figure class="wp-block-image aligncenter size-large"><img fetchpriority="high" decoding="async" width="1100" height="520" src="https://it-biz.online/wp-content/uploads/2026/05/javascript-promise-flow-v2-1.png" alt="JavaScriptのPromiseが非同期処理の結果をthen、catch、finallyへ渡す流れを示す図" class="wp-image-10802" srcset="https://it-biz.online/wp-content/uploads/2026/05/javascript-promise-flow-v2-1.png 1100w, https://it-biz.online/wp-content/uploads/2026/05/javascript-promise-flow-v2-1-500x236.png 500w, https://it-biz.online/wp-content/uploads/2026/05/javascript-promise-flow-v2-1-800x378.png 800w, https://it-biz.online/wp-content/uploads/2026/05/javascript-promise-flow-v2-1-300x142.png 300w, https://it-biz.online/wp-content/uploads/2026/05/javascript-promise-flow-v2-1-768x363.png 768w" sizes="(max-width: 1100px) 100vw, 1100px" /><figcaption class="wp-element-caption">Promiseは値そのものではなく、非同期処理の結果を後から受け取るための入口として見ると理解しやすくなります。</figcaption></figure>



<h2 class="wp-block-heading"><span id="toc4">pending・fulfilled・rejectedの3状態</span></h2>



<p class="wp-block-paragraph">Promiseには状態があります。まずは次の3つだけ押さえれば十分です。</p>



<figure class="wp-block-table"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>状態</th><th>意味</th><th>初心者向けの見方</th></tr></thead><tbody><tr><td>pending</td><td>まだ結果が出ていない</td><td>処理中</td></tr><tr><td>fulfilled</td><td>成功して結果が得られた</td><td>成功</td></tr><tr><td>rejected</td><td>失敗して理由が返った</td><td>失敗</td></tr></tbody></table></div></figure>



<p class="wp-block-paragraph">Promiseは最初に<code>pending</code>になり、その後、成功すれば<code>fulfilled</code>、失敗すれば<code>rejected</code>になります。成功と失敗のどちらかに決まった状態を、実務では「settled」と表現することもあります。</p>



<h2 class="wp-block-heading"><span id="toc5">then・catch・finallyの役割</span></h2>



<p class="wp-block-paragraph">Promiseでよく使うのは、<code>then</code>、<code>catch</code>、<code>finally</code>です。</p>



<figure class="wp-block-table"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>メソッド</th><th>役割</th><th>よくある使い方</th></tr></thead><tbody><tr><td><code>then()</code></td><td>成功時の結果を受け取る</td><td>取得したデータを画面に出す</td></tr><tr><td><code>catch()</code></td><td>失敗時の理由を受け取る</td><td>エラー表示やログ出力をする</td></tr><tr><td><code>finally()</code></td><td>成功・失敗に関係なく最後に動く</td><td>ローディング表示を消す</td></tr></tbody></table></div></figure>



<pre class="wp-block-code"><code>fetch("/api/users")
  .then((response) =&gt; response.json())
  .then((users) =&gt; {
    console.log(users);
  })
  .catch((error) =&gt; {
    console.error("取得に失敗しました", error);
  })
  .finally(() =&gt; {
    console.log("読み込み処理を終了します");
  });</code></pre>



<p class="wp-block-paragraph">ポイントは、<strong><span class="marker-under">前のthenで返した値が、次のthenへ渡される</span></strong>ことです。<code>response.json()</code>を返すから、次の<code>then</code>で変換後のデータを受け取れます。</p>



<h2 class="wp-block-heading"><span id="toc6">fetchでよくある誤解：HTTPエラーは必ずcatchに入るわけではない</span></h2>



<p class="wp-block-paragraph">Promiseをfetchで使うとき、初心者がつまずきやすいのがエラー処理です。ネットワーク自体に失敗した場合は<code>catch</code>に入りますが、HTTPステータスが404や500の場合は、必ずしも自動で<code>catch</code>に入るとは限りません。</p>



<p class="wp-block-paragraph">fetchの結果では、<code>response.ok</code>を見て、HTTPとして成功扱いできるかを確認するのが安全です。</p>



<pre class="wp-block-code"><code>fetch("/api/users")
  .then((response) =&gt; {
    if (!response.ok) {
      throw new Error("HTTPエラー: " + response.status);
    }
    return response.json();
  })
  .then((users) =&gt; {
    console.log(users);
  })
  .catch((error) =&gt; {
    console.error(error);
  });</code></pre>



<p class="wp-block-paragraph">このように書くと、通信そのものの失敗だけでなく、サーバーがエラーを返した場合も同じ<code>catch</code>で扱いやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc7">async/awaitはPromiseを読みやすくする書き方</span></h2>



<p class="wp-block-paragraph"><code>async/await</code>は、Promiseと別物ではありません。Promiseを、上から順に読む形で書きやすくするための構文です。</p>



<pre class="wp-block-code"><code>async function loadUsers() {
  try {
    const response = await fetch("/api/users");

    if (!response.ok) {
      throw new Error("HTTPエラー: " + response.status);
    }

    const users = await response.json();
    console.log(users);
  } catch (error) {
    console.error(error);
  }
}</code></pre>



<p class="wp-block-paragraph"><code>await</code>はPromiseの完了を待ち、その結果を取り出します。つまり、async/awaitを使っていても、裏側ではPromiseを扱っています。</p>



<h2 class="wp-block-heading"><span id="toc8">最初に覚える判断基準</span></h2>



<ul class="wp-block-list is-style-icon-list-check has-list-style">
<li><code>fetch()</code>の戻り値はPromiseとして読む</li>



<li><code>then</code>では次へ渡したい値を<code>return</code>する</li>



<li>HTTPステータスの失敗は<code>response.ok</code>で確認する</li>



<li>async/awaitはPromiseを消すものではなく、読みやすくする書き方と考える</li>
</ul>



<h2 class="wp-block-heading"><span id="toc9">Promise.allは最初から暗記しなくてよい</span></h2>



<p class="wp-block-paragraph">Promiseを調べると、<code>Promise.all</code>、<code>Promise.race</code>、<code>Promise.allSettled</code>なども出てきます。これらは複数のPromiseをまとめて扱うための機能です。</p>



<p class="wp-block-paragraph">ただし、初学者が最初に全部を覚える必要はありません。まずは、1つのPromiseが成功・失敗へ分かれる流れを読めることが先です。複数の通信を同時に待つ必要が出てきたときに、<code>Promise.all</code>を学ぶ順番で問題ありません。</p>



<p class="wp-block-paragraph">たとえば、ユーザー情報と注文履歴を同時に取得したい場合は、複数のPromiseをまとめて待つ考え方が必要になります。一方、単に1つのAPIからデータを取るだけなら、<code>then</code>・<code>catch</code>・<code>finally</code>とasync/awaitを理解していれば十分です。</p>



<h2 class="wp-block-heading"><span id="toc10">コードレビューで見るポイント</span></h2>



<p class="wp-block-paragraph">Promiseを使ったコードを読むときは、まず「どこでPromiseが作られ、どこで結果を取り出しているか」を見ます。次に、失敗時の処理があるか、ローディング表示などの後片付けが漏れていないかを確認します。</p>



<p class="wp-block-paragraph">特にWeb画面では、通信中の表示、成功時の表示、失敗時の表示がそろっているかが重要です。Promiseの文法だけでなく、ユーザーに何が見えるかまで考えると、実務のコードを読みやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc11">公式情報と関連して読みたい記事</span></h2>



<ul class="wp-block-list">
<li><a href="https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise">MDN: Promise</a></li>



<li><a href="https://developer.mozilla.org/ja/docs/Web/API/Fetch_API/Using_Fetch">MDN: Fetch API の使用</a></li>



<li><a href="https://it-biz.online/web-design/fetch-api/">fetch APIとは？GETとPOSTの使い方</a></li>



<li><a href="https://it-biz.online/web-design/async-await/">async/awaitとは？Promiseとの違い</a></li>
</ul>



<h2 class="wp-block-heading"><span id="toc12">まとめ</span></h2>



<p class="wp-block-paragraph">Promiseは、非同期処理の結果をあとで受け取るための仕組みです。最初は「将来の結果を表すオブジェクト」と考えれば十分です。</p>



<ul class="wp-block-list is-style-icon-list-check has-list-style">
<li>成功時は<code>then</code></li>



<li>失敗時は<code>catch</code></li>



<li>最後の処理は<code>finally</code></li>



<li>fetchでは<code>response.ok</code>も確認する</li>



<li>async/awaitはPromiseを読みやすくする構文</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】1分で理解できる！switch文を用いた条件分岐（switch~case/dafault）</title>
		<link>https://it-biz.online/web-design/switch/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Thu, 13 Feb 2020 04:10:54 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3661</guid>

					<description><![CDATA[JavaScriptでswitch文を用いた条件分岐の記述方法を解説します。 条件分岐の制御フローを定義する命令には、if文を使う方法もありますが、条件が多分岐になる場合にはswitch文を用いるほうが可読性が上がります [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">JavaScriptでswitch文を用いた条件分岐の記述方法を解説します。</p>



<p class="wp-block-paragraph">条件分岐の制御フローを定義する命令には、if文を使う方法もありますが、<strong>条件が多分岐になる場合にはswitch文を用いるほうが可読性が上がります。</strong></p>



<p class="wp-block-paragraph">このページでは、switch文の使い方を解説しif文との使い分け方法をサンプルコード付きで解説します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="label-box-content block-box-content box-content">
<div class="wp-block-cocoon-blocks-iconlist-box iconlist-box blank-box list-caret-right block-box"><div class="iconlist-title"></div>
<ul class="wp-block-list"><li>条件分岐とは？</li><li>switch文の使い方と構文ルール</li><li>if文と比較した際のswitch文の利点</li></ul>
</div>
</div></div>



<p class="wp-block-paragraph">JavaScript初心者であれば、<strong><span style="color:#e60033" class="color">知らないと恥ずかしい基本的な知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">条件分岐とは？</a></li><li><a href="#toc2" tabindex="0">switch文：構文ルール</a><ol><li><a href="#toc3" tabindex="0">switch文の「break」の必要性</a></li></ol></li><li><a href="#toc4" tabindex="0">switch文の使い方</a></li><li><a href="#toc5" tabindex="0">if文との比較</a></li><li><a href="#toc6" tabindex="0">JavaScriptを体系的に学びたい方は</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">条件分岐とは？</span></h2>



<p class="wp-block-paragraph">条件分岐とは、プログラム中である条件を満たしているかどうかを判定し、満たしている場合/満たしていない場合に応じて処理を変えることです。</p>



<p class="wp-block-paragraph">基本的には、<strong>「もし○○ならば××せよ」</strong>というような書き方で処理の内容を分岐させていきます。</p>



<p class="wp-block-paragraph">JavaScriptでは、if文と本ページで解説するswitch文を用いて条件分岐を指定します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">JavaScriptで用いる条件分岐命令</span></div><div class="label-box-content block-box-content box-content">
<div class="wp-block-cocoon-blocks-iconlist-box iconlist-box blank-box list-caret-right block-box"><div class="iconlist-title"></div>
<ul class="wp-block-list"><li><strong>if文</strong>　　　⇒　二分岐に用いる</li><li><strong>switch文</strong>　⇒　多分岐に用いる</li></ul>
</div>



<p class="wp-block-paragraph">if文について詳しく知りたい方はこちら。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/if-else/" title="【JavaScript】if文で条件分岐の書き方の基本とコツを３分で解説" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2024/02/image-3-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/02/image-3-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-3-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-3-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】if文で条件分岐の書き方の基本とコツを３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptのif文の基本から応用までを簡潔に解説。初心者向けにelseやelse ifの使い方、論理演算子の活用方法をサンプルコード付きで紹介します。条件分岐をマスターして、効率的なプログラミングを始めましょう。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2024.02.02</div></div></div></div></a>
</div></figure>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">switch文：構文ルール</span></h2>



<p class="has-medium-font-size wp-block-paragraph"><strong><span style="color:#0095d9" class="color">switch  (</span></strong><small>変数</small><strong><span style="color:#0095d9" class="color">) {<br>   case</span></strong> <small>値1</small><strong><span style="color:#0095d9" class="color">:</span></strong><br>     <small>(変数が値１の場合の処理)</small><strong><span style="color:#0095d9" class="color">;<br>     </span><span style="color:#f39800" class="color">break</span><span style="color:#0095d9" class="color">;</span></strong><br><strong><span style="color:#0095d9" class="color">   case</span></strong> <small>値2</small><strong><span style="color:#0095d9" class="color">:</span></strong><br>     <small>(変数が値２の場合の処理)</small> <strong><span style="color:#0095d9" class="color">;<br>     </span><span style="color:#f39800" class="color">break</span><span style="color:#0095d9" class="color">;</span></strong><br> 　・・・・<br>   <strong><span style="color:#0095d9" class="color">default</span></strong>;<br>     <small>(変数がどの値にも合致しない場合) </small><br> <strong><span style="color:#0095d9" class="color">}</span></strong></p>



<hr class="wp-block-separator"/>



<p class="wp-block-paragraph">この構文により、変数の値に応じて複数の条件分岐を定義することができます。</p>



<ul class="wp-block-list"><li>「変数が値<strong>１</strong>の場合に処理〇〇を行う」</li><li>「変数が値<strong>２</strong>の場合に処理△△を行う」</li></ul>



<p class="wp-block-paragraph">このように記述することで、多分岐の条件を分かりやすく記述することが可能です。</p>



<p class="wp-block-paragraph">"<strong>default</strong>" はどの条件にも合致しない場合を表します。if文でいう「else」の役割と同じように考えてOK。</p>



<p class="wp-block-paragraph">JavaScriptのswitch文では、上から順に変数の値を比較していき、合致した時点で該当する処理が行われます。そして、<strong><span class="marker-under">なんとそれ以降に記載された処理もすべて実行されてしまうのです。</span></strong></p>



<h3 class="wp-block-heading"><span id="toc3">switch文の「break」の必要性</span></h3>



<p class="wp-block-paragraph">"break" は強制的に処理を抜ける命令です。この命令は、<a href="https://it-biz.online/web-design/for-2/">for文</a>や<a href="https://it-biz.online/web-design/while/">while文</a>でも利用することができます。</p>



<p class="wp-block-paragraph">"break" を意図的に書かずにコーディングする方法もありますが、基本的には<strong>switch文を利用して記述するのが一般的</strong>です。</p>



<p class="wp-block-paragraph">仮に、"break" を用いずに以下のようなコードを記述したとしましょう。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="WNvQmNq" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="switch②">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/WNvQmNq">
  switch②</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">お気づきですね。<strong><span class="marker-under">「case 2;」以降のコードがすべて実行されてしまうのです。</span></strong></p>



<p class="wp-block-paragraph">基本的にcase文は条件分岐で用いる命令であるため、繰り返し処理（順次処理）的に利用するのはお勧めできません。そのため、基本的には "break" とセットで用いるのが正解と言えるのです。</p>



<h2 class="wp-block-heading"><span id="toc4">switch文の使い方</span></h2>



<p class="wp-block-paragraph">実際に、switch文を利用したサンプルコードがこちらです。</p>



<p class="wp-block-paragraph">「今日の天気」を選択して「ボタン」をクリックしてみましょう。（<strong>右下の「Rerun」ボタンを押せば何度も実行できます！</strong>）</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="html,result" data-user="BizOnline" data-slug-hash="jOPbdbv" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="switch①">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/jOPbdbv">
  switch①</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">いかがでしょうか？</p>



<p class="wp-block-paragraph">選択したラジオボタンに応じて、表示される文章が変わることが分かるかと思います。</p>



<p class="wp-block-paragraph">上記のサンプルコードでは、以下のようにswitch文を用いて条件分岐を定義しています。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""> switch (result) {
   case "晴れ":
     document.write(`本日は晴天なり`);
     break;
   case "曇り":      
     document.write(`本日はどんより曇りです`);
     break;
   case "雨":
     document.write(`本日は傘が必要です`);
     break;
   case "雪":
     document.write(`雪だるまを作りましょう`);
     break;
   }</pre>



<h2 class="wp-block-heading"><span id="toc5">if文との比較</span></h2>



<p class="wp-block-paragraph">ちなみに、冒頭でも説明した通り、必ずしもswitch文を使う必要はありません。if文でも同じ条件分岐を定義することが可能です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""> if (result = "晴れ") {
     document.write(`本日は晴天なり`);
    } else if(result = "曇り"){      
      document.write(`本日はどんより曇りです`);
    } else if(result = "雨"){
      document.write(`本日は傘が必要です`);
    } else if(result = "雪"){
      document.write(`雪だるまを作りましょう`);
    }</pre>



<p class="wp-block-paragraph">if文の方がコードの行数自体は減りますが、なんとなく読みやすさはswitch文の方が勝っている気がします。</p>



<p class="wp-block-paragraph">また、switch文の場合は、１つの変数の値をもとに条件分岐させていくのに対して、if文は条件式に記述すべき変数は１つでなくてもOK。</p>



<p class="wp-block-paragraph">そのため、条件をMECEにしたいという人は、switch文を好むようです。</p>



<h2 class="wp-block-heading"><span id="toc6">JavaScriptを体系的に学びたい方は</span></h2>



<p class="wp-block-paragraph"><strong><span class="marker-under">プログラミングをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。</span></strong></p>



<p class="wp-block-paragraph">そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、１から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。</p>



<p class="wp-block-paragraph">各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/lifehack/programming/" title="おすすめプログラミングスクールTOP５【現役エンジニア推薦】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png 320w, https://it-biz.online/wp-content/uploads/2021/01/programming-300x168.png 300w, https://it-biz.online/wp-content/uploads/2021/01/programming-500x280.png 500w, https://it-biz.online/wp-content/uploads/2021/01/programming-768x429.png 768w, https://it-biz.online/wp-content/uploads/2021/01/programming-800x447.png 800w, https://it-biz.online/wp-content/uploads/2021/01/programming-240x135.png 240w, https://it-biz.online/wp-content/uploads/2021/01/programming-640x360.png 640w, https://it-biz.online/wp-content/uploads/2021/01/programming-1024x573.png 1024w, https://it-biz.online/wp-content/uploads/2021/01/programming.png 1354w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">おすすめプログラミングスクールTOP５【現役エンジニア推薦】</div><div class="blogcard-snippet internal-blogcard-snippet">プログラミングスキルを習得したい社会人・学生の方へおすすめしたいプログラミングスクールをニーズ別に３つに絞ってご紹介します。本当に未経験からでも実務レベルのスキルはみにつくか？現役エンジニアが口コミや実体験をもとに解説します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.05.30</div></div></div></div></a>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】3分で学べる！比較演算子（&#8221;===&#8221;の意味）</title>
		<link>https://it-biz.online/web-design/comparison/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 04 Feb 2020 03:00:04 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3535</guid>

					<description><![CDATA[本ページではJavaScriptで用いられる比較演算子（= / &#60; / > /!=）の意味と使い方を解説します。 初心者にとっては理解しづらい返り値（Boolean型の変数）など、分かりやすく丁寧に説明していきます [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">本ページでは<strong>JavaScriptで用いられる比較演算子（= / &lt; / > /!=）の意味と使い方を解説</strong>します。</p>



<p class="wp-block-paragraph">初心者にとっては理解しづらい返り値（Boolean型の変数）など、分かりやすく丁寧に説明していきます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="label-box-content block-box-content box-content">
<ul class="wp-block-list"><li>比較演算子の基本・意味と使い方</li><li>返り値（Boolean型変数）の意味</li><li>文字列の比較方法</li><li>異なるデータ型の比較</li><li><strong>厳密等価演算子</strong>（===）の意味と使い方</li></ul>
</div></div>



<p class="wp-block-paragraph">比較演算子については<strong><span style="color:#e60033" class="color">JavaScriptの超・基本的な内容</span></strong>なので、是非このページでマスターしておきましょう！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">比較演算子とは？</a><ol><li><a href="#toc2" tabindex="0">等価 (==) </a></li><li><a href="#toc3" tabindex="0">不等価（!=）</a></li><li><a href="#toc4" tabindex="0">～より大きい（>）/より小さい（&lt;）</a></li><li><a href="#toc5" tabindex="0">～以上（>=）/～以下（&lt;=）</a></li></ol></li><li><a href="#toc6" tabindex="0">厳密等価演算子（===）の意味</a></li><li><a href="#toc7" tabindex="0">厳密不等価演算子(!==)　⇒　"===" の反対</a></li><li><a href="#toc8" tabindex="0">JavaScriptを体系的に学びたい方は</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">比較演算子とは？</span></h2>



<p class="wp-block-paragraph">比較演算子とは「<strong>==</strong>（等価）」「<strong>>=</strong>（以上）」などのことで、<strong>２つの値を比較する</strong>ために用います。また、ただ値を比較するだけではなく、<strong><span class="marker-under">比較した結果を論理値（Boolean型）として返すことができます。</span></strong></p>



<p class="wp-block-paragraph">そのため、比較演算子は、if文 / for文 / while文などのループ処理の条件式で利用されることが一般的です。 </p>



<p class="wp-block-paragraph">この章では、比較演算子の意味と使い方・注意点を解説していきます。</p>



<h3 class="wp-block-heading"><span id="toc2">等価 (==) </span></h3>



<p class="wp-block-paragraph">等価演算子（==）は、２つの値が等しいかどうか？を検証します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール：等価演算子</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-medium-font-size wp-block-paragraph"> (比較する値１) <strong><span style="color:#e60033" class="color">==</span> </strong>(比較する値２) </p>
</div></div>



<p class="wp-block-paragraph"><strong><span class="marker-under">比較する２つの値が等しい場合、結果を「TRUE」で返却します。</span></strong></p>



<p class="wp-block-paragraph">早速、以下のサンプルコードをご覧ください。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="wvBVXNJ" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="比較演算子==">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/wvBVXNJ">
  比較演算子==</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph"> <strong>5行目</strong>で、変数「hensu1」と「hensu2」を比較しています。</p>



<p class="wp-block-paragraph">今回、２つの変数に代入されている値はどちらも「<strong><span style="color:#e60033" class="color">１</span></strong>」です。この場合、等価演算子で比較した結果は「<strong>真</strong>」となりますので、比較結果として「TRUE」が返されます。</p>



<p class="has-small-font-size wp-block-paragraph">※比較結果については、任意の変数に代入することができます。代入は必須ではありません。</p>



<p class="wp-block-paragraph">逆に２つの値が一致しない場合は、<strong>「FALSE」が返却</strong>されます。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="XWbrrGx" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="比較演算子==②">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/XWbrrGx">
  比較演算子==②</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label fab-check"><span class="label-box-label-text block-box-label-text box-label-text">【まとめ】等価演算子</span></div><div class="label-box-content block-box-content box-content">
<p class="wp-block-paragraph">２つの値を比較して値が等しい場合　⇒　"<strong>TRUE</strong>" が返却される</p>



<p class="wp-block-paragraph">２つの値を比較して値が等しくない場合　⇒　"<strong>FALSE</strong>" が返却される</p>
</div></div>



<p class="wp-block-paragraph">ちなみに、なぜ "=" を２つ続けるか？これは、<strong>"=" １つでは代入</strong>の意味になるためです。</p>



<p class="wp-block-paragraph">「A = B」としてしまうと、Bの値をAに代入する処理になってしまいますので、注意して覚えましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">不等価（!=）</span></h3>



<p class="wp-block-paragraph">等価演算子の反対です。２つの値を比較して値が等しくない場合に "<strong>TRUE</strong>" が返却されます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール：不等価演算子</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-medium-font-size wp-block-paragraph">  (比較する値１)<span style="color:#e60033" class="color"> <strong>!=</strong></span><strong> </strong>(比較する値２)  </p>
</div></div>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="JjdPPqV" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="比較演算子!=">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/JjdPPqV">
  比較演算子!=</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>



<h3 class="wp-block-heading"><span id="toc4">～より大きい（>）/より小さい（&lt;）</span></h3>



<p class="wp-block-paragraph">左オペランドが右オペランドより大きい（小さい）場合に "<strong>TRUE</strong>" が、そうでない場合に "<strong>FALSE</strong>" が返却されます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール：>&lt;演算子</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-medium-font-size wp-block-paragraph"> (比較する値１) <strong><span style="color:#e60033" class="color">></span></strong> (比較する値２)  </p>



<hr class="wp-block-separator"/>



<p class="has-text-align-center has-medium-font-size wp-block-paragraph"> (比較する値１) <strong><span style="color:#e60033" class="color">&lt;</span></strong> (比較する値２)  </p>
</div></div>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="gOpYbaz" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="比較演算子 &amp;gt;">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/gOpYbaz">
  比較演算子 &gt;</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>



<h3 class="wp-block-heading"><span id="toc5">～以上（>=）/～以下（&lt;=）</span></h3>



<p class="wp-block-paragraph">左オペランドが右オペランドより同じか大きい（小さい）場合に "<strong>TRUE</strong>" が、そうでない場合に "<strong>FALSE</strong>" が返却されます。 </p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール：>=/&lt;=演算子</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-medium-font-size wp-block-paragraph"> (比較する値１) <strong><span style="color:#e60033" class="color">>=</span></strong> (比較する値２)  </p>



<hr class="wp-block-separator"/>



<p class="has-text-align-center has-medium-font-size wp-block-paragraph"> (比較する値１) <strong><span style="color:#e60033" class="color">&lt;=</span></strong> (比較する値２)  </p>
</div></div>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="eYNOmzN" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="比較演算子&amp;gt;=">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/eYNOmzN">
  比較演算子&gt;=</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>



<h2 class="wp-block-heading"><span id="toc6">厳密等価演算子（===）の意味</span></h2>



<p class="wp-block-paragraph">さて、ここまでは比較的理解しやすい演算子を解説してきました。</p>



<p class="wp-block-paragraph">この章では、厳密等価演算子と呼ばれる "===" と記述する演算子の意味について解説します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール：厳密等価演算子（===）</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-medium-font-size wp-block-paragraph"> (比較する値１) <strong><span style="color:#e60033" class="color">===</span></strong> (比較する値２)   </p>
</div></div>



<p class="wp-block-paragraph">厳密等価演算子は、２つの値に加えて<strong><span class="marker-under">２つの値のデータ型まで比較</span></strong>します。</p>



<p class="wp-block-paragraph">どういうことか早速以下のサンプルコードをご覧ください。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">サンプルコード：厳密等価演算子</span></div><div class="label-box-content block-box-content box-content">
<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="MWwgYJY" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="厳密等価演算子">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/MWwgYJY">
  厳密等価演算子</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">ポイントは、<strong>比較する２つの変数のデータ型が異なっている</strong>ことです。</p>



<ul class="wp-block-list"><li>変数「hensu1」　⇒　１（<strong>数字</strong>）</li><li>変数「hensu2」　⇒　１（<strong><span style="color:#e60033" class="color">文字列</span></strong>）</li></ul>
</div></div>



<p class="wp-block-paragraph">単純な等価演算子（==）であれば、変数の値だけを比較するため結果は "<strong>TRUE</strong>" となりますが、厳密等価演算子（===）は、２つの変数の<strong><span style="color:#e60033" class="color">データ型も一致しているかどうか？</span></strong>を比較します。</p>



<p class="wp-block-paragraph">したがって、上記サンプルコードでは、"===" で比較を行った結果 "FALSE" が返却されているのです。</p>



<div class="wp-block-cocoon-blocks-icon-box information-box common-icon-box block-box">
<p class="wp-block-paragraph">JavaScriptでは異なるデータ型同士でも比較することが可能なのです。</p>



<p class="wp-block-paragraph">厳密に言えば、比較演算子では　①データ型変換　⇒　②値の比較　を行っています。</p>
</div>



<h2 class="wp-block-heading"><span id="toc7">厳密不等価演算子(!==)　⇒　"===" の反対</span></h2>



<p class="wp-block-paragraph">厳密不等価演算子（!==）は、ちょっと理解しづらいのですが<strong><span class="marker-under">（===）の反対の結果を返す</span></strong>と覚えればOKです。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール：厳密不等価演算子（!==）</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-medium-font-size wp-block-paragraph">(比較する値１) <strong><span style="color:#e60033" class="color">!==</span></strong> (比較する値２)  </p>
</div></div>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="ZEGzYXQ" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="厳密不等価　!==">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/ZEGzYXQ">
  厳密不等価　!==</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>



<h2 class="wp-block-heading"><span id="toc8">JavaScriptを体系的に学びたい方は</span></h2>



<p class="wp-block-paragraph"><strong><span class="marker-under">プログラミングをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。</span></strong></p>



<p class="wp-block-paragraph">そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、１から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。</p>



<p class="wp-block-paragraph">各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/lifehack/programming/" title="おすすめプログラミングスクールTOP５【現役エンジニア推薦】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png 320w, https://it-biz.online/wp-content/uploads/2021/01/programming-300x168.png 300w, https://it-biz.online/wp-content/uploads/2021/01/programming-500x280.png 500w, https://it-biz.online/wp-content/uploads/2021/01/programming-768x429.png 768w, https://it-biz.online/wp-content/uploads/2021/01/programming-800x447.png 800w, https://it-biz.online/wp-content/uploads/2021/01/programming-240x135.png 240w, https://it-biz.online/wp-content/uploads/2021/01/programming-640x360.png 640w, https://it-biz.online/wp-content/uploads/2021/01/programming-1024x573.png 1024w, https://it-biz.online/wp-content/uploads/2021/01/programming.png 1354w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">おすすめプログラミングスクールTOP５【現役エンジニア推薦】</div><div class="blogcard-snippet internal-blogcard-snippet">プログラミングスキルを習得したい社会人・学生の方へおすすめしたいプログラミングスクールをニーズ別に３つに絞ってご紹介します。本当に未経験からでも実務レベルのスキルはみにつくか？現役エンジニアが口コミや実体験をもとに解説します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.05.30</div></div></div></div></a>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】アロー関数とは？functionとの違いと使いどころを初心者向けに解説</title>
		<link>https://it-biz.online/web-design/arrow-function/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Thu, 06 Feb 2020 05:15:57 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3559</guid>

					<description><![CDATA[JavaScriptのアロー関数とは何かを初心者向けに解説します。基本構文、短く書けるルール、functionとの違い、thisの扱い、使いどころまでシンプルに整理します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">JavaScriptでアロー関数を見ると、<code>=&gt;</code> の記号が急に出てきて戸惑う方が多いです。結論からいうと、<strong><span class="marker-under">アロー関数は「関数式を短く書くための書き方」ですが、<code>this</code> など一部の挙動は通常の <code>function</code> と違います</span></strong>。</p>



<p class="wp-block-paragraph">そのため、単なる省略記法だと思っていると後で混乱しやすくなります。この記事では、<strong>アロー関数の意味、基本構文、<code>function</code> との違い、使いどころ</strong>を初心者向けに整理します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img wpfc-lazyload-disable="true" decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>「短く書ける」だけでなく、「<code>this</code> が変わる」と覚えておくと実務で役立ちます。</p>
</div></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">結論：アロー関数は短い関数を書くのに向いている</a></li><li><a href="#toc2" tabindex="0">1. アロー関数の基本構文</a></li><li><a href="#toc3" tabindex="0">2. さらに短く書けるパターン</a><ol><li><a href="#toc4" tabindex="0">引数が1つなら () を省略できる</a></li><li><a href="#toc5" tabindex="0">1行で値を返すなら return と { } を省略できる</a></li></ol></li><li><a href="#toc6" tabindex="0">3. アロー関数と function の大きな違い</a><ol><li><a href="#toc7" tabindex="0">this を自分で持たない</a></li><li><a href="#toc8" tabindex="0">arguments を持たない</a></li><li><a href="#toc9" tabindex="0">コンストラクタとして使えない</a></li></ol></li><li><a href="#toc10" tabindex="0">4. どんな場面で使うのか</a></li><li><a href="#toc11" tabindex="0">5. よくあるつまずき</a><ol><li><a href="#toc12" tabindex="0">return が省略されていて意味が分からなくなる</a></li><li><a href="#toc13" tabindex="0">オブジェクトを返したいのにエラーになる</a></li><li><a href="#toc14" tabindex="0">this が思った通りにならない</a></li></ol></li><li><a href="#toc15" tabindex="0">補足：アロー関数を実務で読むときの見方</a><ol><li><a href="#toc16" tabindex="0">使ってよい場面・避けたほうがよい場面</a></li><li><a href="#toc17" tabindex="0">初心者が見るべきポイント</a></li><li><a href="#toc18" tabindex="0">読みづらいアロー関数に出会ったとき</a></li><li><a href="#toc19" tabindex="0">アロー関数を通常の関数に戻して読む練習</a></li></ol></li><li><a href="#toc20" tabindex="0">関連して学びたい記事</a></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">結論：アロー関数は短い関数を書くのに向いている</span></h2>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const add = (a, b) =&gt; {
  return a + b;
};</pre>



<p class="wp-block-paragraph">上のように、<code>function</code> を使わず <code>=&gt;</code> で関数を書けるのがアロー関数です。特に、配列処理やコールバック関数でよく使われます。</p>



<figure class="wp-block-table is-style-regular"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>比較</th><th>通常の関数</th><th>アロー関数</th></tr></thead><tbody><tr><td>書き方</td><td><code>function add(a, b) { ... }</code></td><td><code>(a, b) =&gt; { ... }</code></td></tr><tr><td>短く書けるか</td><td>やや長い</td><td>短く書きやすい</td></tr><tr><td><code>this</code> の決まり方</td><td>呼び出し方で変わる</td><td>外側の <code>this</code> を引き継ぐ</td></tr><tr><td>コンストラクタ利用</td><td>できる</td><td>できない</td></tr></tbody></table></div></figure>



<h2 class="wp-block-heading"><span id="toc2">1. アロー関数の基本構文</span></h2>



<p class="wp-block-paragraph">通常の関数式は次のように書きます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const greet = function(name) {
  return "こんにちは、" + name + "さん";
};</pre>



<p class="wp-block-paragraph">同じ処理をアロー関数で書くと、こうなります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const greet = (name) =&gt; {
  return "こんにちは、" + name + "さん";
};</pre>



<p class="wp-block-paragraph">このように、<code>function</code> を省いて、引数の後ろに <code>=&gt;</code> を置くのが基本形です。</p>



<h2 class="wp-block-heading"><span id="toc3">2. さらに短く書けるパターン</span></h2>



<p class="wp-block-paragraph">アロー関数は、条件がそろうとさらに短く書けます。</p>



<h3 class="wp-block-heading"><span id="toc4">引数が1つなら () を省略できる</span></h3>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const double = n =&gt; {
  return n * 2;
};</pre>



<h3 class="wp-block-heading"><span id="toc5">1行で値を返すなら return と { } を省略できる</span></h3>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const double = n =&gt; n * 2;</pre>



<p class="wp-block-paragraph">この書き方はとても便利ですが、短くしすぎると読みにくくなることもあります。初心者のうちは、まずブロック付きで書ければ十分です。</p>



<h2 class="wp-block-heading"><span id="toc6">3. アロー関数と function の大きな違い</span></h2>



<p class="wp-block-paragraph">ここが大事です。アロー関数は単なる短縮形ではありません。</p>



<h3 class="wp-block-heading"><span id="toc7">this を自分で持たない</span></h3>



<p class="wp-block-paragraph">通常の <code>function</code> は呼び出し方によって <code>this</code> が変わりますが、アロー関数は外側の <code>this</code> をそのまま使います。</p>



<p class="wp-block-paragraph">そのため、オブジェクトのメソッドやクラスのメソッドで、どちらを使うかによって挙動が変わることがあります。</p>



<h3 class="wp-block-heading"><span id="toc8">arguments を持たない</span></h3>



<p class="wp-block-paragraph">通常の関数には <code>arguments</code> がありますが、アロー関数にはありません。可変長引数を扱いたいときは、通常は <code>...args</code> を使います。</p>



<h3 class="wp-block-heading"><span id="toc9">コンストラクタとして使えない</span></h3>



<p class="wp-block-paragraph">アロー関数は <code>new</code> と一緒には使えません。オブジェクトを生成するコンストラクタ用途なら、通常の関数や class を使います。</p>



<h2 class="wp-block-heading"><span id="toc10">4. どんな場面で使うのか</span></h2>



<p class="wp-block-paragraph">アロー関数が特に活躍するのは、短いコールバック関数を書く場面です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const numbers = [1, 2, 3];

const doubled = numbers.map(n =&gt; n * 2);

console.log(doubled); // [2, 4, 6]</pre>



<p class="wp-block-paragraph">このように、配列の <code>map</code> や <code>filter</code>、イベント処理、非同期処理などで非常によく見かけます。</p>



<p class="wp-block-paragraph">一方で、メソッド定義や <code>this</code> の理解が必要な場面では、通常の <code>function</code> のほうが意図が伝わりやすいこともあります。</p>



<h2 class="wp-block-heading"><span id="toc11">5. よくあるつまずき</span></h2>



<h3 class="wp-block-heading"><span id="toc12">return が省略されていて意味が分からなくなる</span></h3>



<p class="wp-block-paragraph">1行アロー関数では、式の結果が自動で返ります。慣れるまでは、あえて <code>{ }</code> と <code>return</code> を書いたほうが理解しやすいです。</p>



<h3 class="wp-block-heading"><span id="toc13">オブジェクトを返したいのにエラーになる</span></h3>



<p class="wp-block-paragraph">オブジェクトを1行で返すときは、丸かっこで囲む必要があります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const createUser = name =&gt; ({ name: name });</pre>



<h3 class="wp-block-heading"><span id="toc14">this が思った通りにならない</span></h3>



<p class="wp-block-paragraph">アロー関数は自分の <code>this</code> を持たないため、「メソッド内だから自動でそのオブジェクトを指す」と考えるとズレることがあります。ここは通常の関数との最重要ポイントです。</p>



<h2 class="wp-block-heading"><span id="toc15">補足：アロー関数を実務で読むときの見方</span></h2>



<p class="wp-block-paragraph">アロー関数は「短く書ける関数」と説明されることが多いですが、実際のコードではそれだけでは少し足りません。特に、配列処理、イベント処理、コールバック関数の中でよく登場するため、コードを読むときは「どの値を受け取り、何を返しているのか」を先に見ると理解しやすくなります。</p>



<p class="wp-block-paragraph">まずは、配列の <code>map</code> でアロー関数を使う例を見てください。アロー関数がどんな場面で自然に使われるのかが見えやすい例です。</p>



<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-arrow-function-code-result.png" alt="JavaScriptのアロー関数をコードと実行結果で説明した図" />
  <figcaption>配列の各要素を変換する短い処理では、アロー関数を使うと処理内容が読み取りやすくなります。</figcaption>
</figure>



<p class="wp-block-paragraph">この画像で見てほしいのは、<code>price =&gt; { ... }</code> の部分です。これは「priceを受け取り、税込価格に変換する処理」を <code>map</code> に渡しています。関数名を付けて何度も使うほどではない短い処理を、その場で渡したいときにアロー関数はよく使われます。</p>



<p class="wp-block-paragraph">実務では、商品一覧の価格を加工する、ユーザー一覧から名前だけ取り出す、APIで受け取ったデータを画面表示用に整える、といった場面でよく出てきます。つまり、アロー関数は「短く書けるから使う」というより、「その場限りの小さな処理を読みやすく渡すために使う」と考えると自然です。</p>



<pre><code>const users = [
  { name: "田中", age: 24 },
  { name: "佐藤", age: 31 }
];

const names = users.map(user =&gt; user.name);

console.log(names); // ["田中", "佐藤"]</code></pre>



<p class="wp-block-paragraph">この例では、<code>user =&gt; user.name</code> が「ユーザー情報から名前だけ取り出す処理」です。処理が1行で済むため、アロー関数にすると何をしているかが見えやすくなります。</p>



<p class="wp-block-paragraph">一方で、アロー関数には注意点もあります。特に <code>this</code> の扱いは、通常の <code>function</code> と違います。次の図で、アロー関数が <code>this</code> をどう扱うかを整理します。</p>



<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-arrow-this-flow.png" alt="アロー関数とthisの関係を初心者向けに示したフロー図" />
  <figcaption>アロー関数は自分専用のthisを作らず、外側のthisを引き継ぎます。</figcaption>
</figure>



<p class="wp-block-paragraph">この図で重要なのは、アロー関数が「自分専用の <code>this</code> を持たない」という点です。通常の <code>function</code> は呼び出し方によって <code>this</code> が変わりますが、アロー関数は外側の <code>this</code> をそのまま使います。</p>



<p class="wp-block-paragraph">この性質は、クラスやオブジェクトの中でイベント処理を書くときに役立つことがあります。ただし、オブジェクトのメソッドそのものをアロー関数で書くと、期待した <code>this</code> にならないこともあります。初心者のうちは、短いコールバックや配列処理ではアロー関数、オブジェクトのメソッドでは通常の <code>function</code> やメソッド記法、と分けて考えると安全です。</p>



<p class="wp-block-paragraph">よくあるミスは、アロー関数を「functionの完全な置き換え」と思ってしまうことです。確かに似た場面で使えますが、<code>this</code>、<code>arguments</code>、コンストラクタ利用では違いがあります。迷ったときは、まず <a href="https://it-biz.online/web-design/function/">function（関数）の基本</a> を押さえ、そのうえで <a href="https://it-biz.online/web-design/callback-function/">コールバック関数</a> や <a href="https://it-biz.online/web-design/javascript-this/">JavaScriptのthis</a> とつなげて読むと理解しやすいです。</p>



<h3 class="wp-block-heading"><span id="toc16">使ってよい場面・避けたほうがよい場面</span></h3>



<p class="wp-block-paragraph">アロー関数が特に向いているのは、配列処理や一時的なコールバックです。<code>map</code>、<code>filter</code>、<code>forEach</code> のように、関数をその場で渡す処理では、短く書けることが読みやすさにつながります。</p>



<p class="wp-block-paragraph">一方で、オブジェクトのメソッドとして <code>this</code> を使う処理では注意が必要です。アロー関数は外側の <code>this</code> を引き継ぐため、「このオブジェクト自身」を指してほしい場面で期待と違う挙動になることがあります。</p>



<pre><code>const user = {
  name: "田中",
  greet: function() {
    console.log(this.name);
  }
};

user.greet(); // 田中</code></pre>



<p class="wp-block-paragraph">このように、オブジェクト自身の情報を使うメソッドでは、まず通常の関数やメソッド記法で書くと安全です。アロー関数は便利ですが、いつでも短くすればよいわけではありません。</p>



<h3 class="wp-block-heading"><span id="toc17">初心者が見るべきポイント</span></h3>



<ul class="wp-block-list">
  <li><code>=&gt;</code> の左側は受け取る値、右側は実行する処理</li>
  <li>1行で返すときは <code>return</code> が省略されていることがある</li>
  <li><code>this</code> を使う処理では、通常の <code>function</code> との違いを見る</li>
  <li>配列処理やイベント処理でよく出てくると覚える</li>
</ul>



<h3 class="wp-block-heading"><span id="toc18">読みづらいアロー関数に出会ったとき</span></h3>



<p class="wp-block-paragraph">アロー関数は短く書ける反面、短くしすぎると初心者には読みづらくなります。特に、引数が複数あり、さらに三項演算子やオブジェクトの返却が混ざると、どこまでが引数で、どこからが戻り値なのか見失いやすくなります。</p>



<p class="wp-block-paragraph">そのようなコードに出会ったら、いったん通常の関数の形に戻して読むと理解しやすいです。<code>user =&gt; user.name</code> なら「userを受け取ってuser.nameを返す関数」、<code>(a, b) =&gt; a + b</code> なら「aとbを受け取って足し算の結果を返す関数」と読み替えます。</p>



<p class="wp-block-paragraph">また、アロー関数の中で処理が長くなっている場合は、無理に1行で書かず、<code>{ }</code> と <code>return</code> を使って複数行にしたほうが読みやすいこともあります。短さよりも、何をしているかがすぐ分かることを優先しましょう。</p>



<p class="wp-block-paragraph">実務では、チームのコード規約によってアロー関数を積極的に使う場合もあれば、読みやすさを優先して通常の関数を選ぶ場合もあります。大切なのは、どちらか一方を丸暗記することではなく、処理の短さ、<code>this</code> の扱い、読みやすさを見て選べるようになることです。</p>



<h3 class="wp-block-heading"><span id="toc19">アロー関数を通常の関数に戻して読む練習</span></h3>



<p class="wp-block-paragraph">アロー関数が読みにくいと感じたときは、頭の中で通常の関数に戻してみると理解しやすくなります。たとえば <code>price =&gt; price * 1.1</code> は、次のように読み替えられます。</p>



<pre><code>function(price) {
  return price * 1.1;
}</code></pre>



<p class="wp-block-paragraph">このように戻してみると、左側の <code>price</code> が引数で、右側の <code>price * 1.1</code> が戻り値だと分かります。アロー関数は記号が少ないぶん、慣れるまでは情報が省略されているように感じます。読みづらいときは、無理に一瞬で理解しようとせず、通常の関数に展開して確認しましょう。</p>



<p class="wp-block-paragraph">また、アロー関数が連続して出てくるコードでは、最初から全部を理解しようとすると疲れます。まずは「配列の要素を1つ受け取って、別の形に変換しているのか」「条件に合うものだけ残しているのか」「クリック後に実行する処理なのか」を見ると、コードの目的がつかみやすくなります。</p>



<p class="wp-block-paragraph">実務のコードレビューでは、アロー関数が短いかどうかよりも、意図が伝わるかどうかを見ます。1行で書ける処理でも、条件分岐が増えて読みにくいなら、複数行にして変数名を付けたほうがよい場合があります。</p>



<p class="wp-block-paragraph">特に、画面表示用のデータ変換では、アロー関数の中で価格表示、日付整形、ステータス変換などをまとめて行うことがあります。処理が増えたら、無理にその場へ詰め込まず、名前付きの関数へ分けると読みやすくなります。</p>



<p class="wp-block-paragraph">初心者の方は、アロー関数を見たらまず「これはどこへ渡されている関数なのか」を確認してください。<code>map</code> に渡されているなら変換、<code>filter</code> に渡されているなら絞り込み、クリックイベントに渡されているなら操作後の処理、というように周辺の関数名から役割を推測できます。</p>



<p class="wp-block-paragraph">この見方ができるようになると、アロー関数は単なる省略記法ではなく、JavaScriptの処理の流れを表す重要なサインとして読めるようになります。</p>



<p class="wp-block-paragraph">最初は記号に目が行きますが、慣れてくると「受け取る値」と「返す値」を素早く読めるようになります。そこまで来ると、配列処理やイベント処理のコードがぐっと身近になります。</p>



<h2 class="wp-block-heading"><span id="toc20">関連して学びたい記事</span></h2>



<ul class="wp-block-list">
<li><a href="https://it-biz.online/web-design/function/">JavaScriptの関数 function の使い方</a></li>
<li><a href="https://it-biz.online/web-design/function-expression/">JavaScriptの関数式とは？</a></li>
<li><a href="https://it-biz.online/web-design/callback-function/">JavaScriptのコールバック関数とは？</a></li>
</ul>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span> <strong>アロー関数の基本</strong></p>

<ul class="wp-block-list">
<li>アロー関数は関数式を短く書くための構文</li>
<li>コールバック関数や配列処理で特によく使う</li>
<li>1行なら <code>return</code> を省略できる</li>
<li><code>this</code> の決まり方は通常の <code>function</code> と違う</li>
<li>短く書けても、読みやすさを優先することが大切</li>
</ul>
</div>



<p class="wp-block-paragraph">アロー関数は、JavaScriptを学ぶうえで避けて通れない基本文法です。まずは「短い関数を書きやすい仕組み」と理解し、次に <code>this</code> の違いまで押さえると、実務でもかなり読みやすくなります。</p>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】alertメソッドの使い方―３分で学ぶアラート(ポップアップ)表示</title>
		<link>https://it-biz.online/web-design/alert/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Mon, 27 Jan 2020 07:57:52 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3408</guid>

					<description><![CDATA[本ページでは、JavaScriptの初心者向けにalertメソッドの使い方を０から解説します。 alertメソッドは、JavaScript内であらかじめ用意されているwindowオブジェクトのメソッドです。 alertメ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">本ページでは、JavaScriptの初心者向けにalertメソッドの使い方を０から解説します。</p>



<p class="wp-block-paragraph"><strong><span class="marker-under">alertメソッドは、JavaScript内であらかじめ用意されているwindowオブジェクトのメソッドです。</span></strong></p>



<p class="wp-block-paragraph">alertメソッドを利用することで、以下の画像のように「ポップアップ画面」を表示することが可能になります。</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="682" height="207" src="https://it-biz.online/wp-content/uploads/2020/01/image-43.png" alt="" class="wp-image-3411" srcset="https://it-biz.online/wp-content/uploads/2020/01/image-43.png 682w, https://it-biz.online/wp-content/uploads/2020/01/image-43-300x91.png 300w, https://it-biz.online/wp-content/uploads/2020/01/image-43-500x152.png 500w" sizes="(max-width: 682px) 100vw, 682px" /></figure></div>



<p class="wp-block-paragraph">このページでは、alertとは何か？アラートメッセージの表示方法を１から解説し、基本的な利用方法をマスターできるようサンプルコード付きで解説します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="label-box-content block-box-content box-content">
<ul class="wp-block-list"><li>alertとは？</li><li>alertメソッドの使い方</li><li>alertメソッドを使った様々な機能例―実践的な使い方</li></ul>
</div></div>



<p class="wp-block-paragraph">JavaScript学習中の方であれば、<strong><span style="color:#e60033" class="color">知らないと恥ずかしい超・基本知識</span></strong>ですので、是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">alert（アラート）とは？</a><ol><li><a href="#toc2" tabindex="0">【補足】alert：モーダルウィンドウ</a></li></ol></li><li><a href="#toc3" tabindex="0">alert（アラート）メソッドの使い方</a><ol><li><a href="#toc4" tabindex="0">数値を表示させる</a></li><li><a href="#toc5" tabindex="0">変数の値を表示させる</a></li></ol></li><li><a href="#toc6" tabindex="0">【補足】window.alert()の意味/alert()との違い</a></li><li><a href="#toc7" tabindex="0">JavaScriptを体系的に学びたい方は</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">alert（アラート）とは？</span></h2>



<p class="wp-block-paragraph"><strong><span class="marker-under">alert（アラート）は、テキストメッセージと「OK」ボタンが設置されている画面をポップアップで表示するメソッドです。</span></strong></p>



<p class="wp-block-paragraph">入力した内容に誤りがある場合や、注意メッセージを読ませたい場合などに用いられます。alertは決して「警告文」を表示させるだけではありません。<strong>使い方は自由</strong>です。</p>



<p class="wp-block-paragraph">ユーザに何らかのメッセージを伝えたい場合は、このalertメソッドが用いられることが多いです。</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="682" height="206" src="https://it-biz.online/wp-content/uploads/2020/01/image-44.png" alt="" class="wp-image-3413" srcset="https://it-biz.online/wp-content/uploads/2020/01/image-44.png 682w, https://it-biz.online/wp-content/uploads/2020/01/image-44-300x91.png 300w, https://it-biz.online/wp-content/uploads/2020/01/image-44-500x151.png 500w" sizes="(max-width: 682px) 100vw, 682px" /></figure></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">サンプルコード</span></div><div class="label-box-content block-box-content box-content">
<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE html>
&lt;html lang="ja">
  &lt;head>
    &lt;title>はじめてのalert&lt;/title>
  &lt;/head>
  &lt;body>
    &lt;script>
    alert("ここには注意喚起したい内容などが記載されます。")
    &lt;/script>
  &lt;/body>
&lt;/html></pre>
</div></div>



<p class="wp-block-paragraph">ここでは簡易的にポップアップを表示させるだけのコードを載せていますが、他のロジックと組み合わせることで<strong><span class="marker-under">ボタンを押したタイミングでポップアップを表示</span></strong>させたり、<strong><span class="marker-under">表示するメッセージを動的に変更</span></strong>したりすることが可能になります。</p>



<h3 class="wp-block-heading"><span id="toc2">【補足】alert：モーダルウィンドウ</span></h3>



<p class="wp-block-paragraph">alertメソッドで表示される画面は<strong>モーダルウィンドウ</strong>という種類の画面です。</p>



<p class="wp-block-paragraph">モーダルウィンドウとは、その画面を閉じない限り（OKボタンか×ボタンを押さない限り）他の操作が行えない画面のことです。このページでは、ポップアップとモーダルウィンドウを区別していませんが、厳密に言えば両者は別物です。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">ポップアップとモーダルウィンドウの違い</span></div><div class="label-box-content block-box-content box-content">
<p class="wp-block-paragraph">ポップアップ　⇒　<strong>ポップアップが開いている場合でも、他のウィンドウを操作できる。</strong></p>



<p class="wp-block-paragraph">モーダルウィンドウ　⇒　<strong>表示されたら、他のウィンドウを操作することはできない。</strong></p>
</div></div>



<h2 class="wp-block-heading"><span id="toc3">alert（アラート）メソッドの使い方</span></h2>



<p class="wp-block-paragraph">alertメソッドの構文は非常にシンプルです。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">構文ルール:alertメソッド</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-large-font-size wp-block-paragraph"> <span style="color:#0095d9" class="color">alert(</span><small>画面に表示させたい値or変数</small><span style="color:#0095d9" class="color">)</span> </p>
</div></div>



<p class="wp-block-paragraph">（　）の中に表示させたいメッセージを記述します。ここには、数字でも文字列でも、その他事前に定義した変数でも指定することが可能です。</p>



<h3 class="wp-block-heading"><span id="toc4">数値を表示させる</span></h3>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE html>
&lt;html lang="ja">
  &lt;head>
    &lt;title>はじめてのalert&lt;/title>
  &lt;/head>
  &lt;body>
    &lt;script>
    alert("20201231")
    &lt;/script>
  &lt;/body>
&lt;/html></pre>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="683" height="204" src="https://it-biz.online/wp-content/uploads/2020/01/image-45.png" alt="" class="wp-image-3415" srcset="https://it-biz.online/wp-content/uploads/2020/01/image-45.png 683w, https://it-biz.online/wp-content/uploads/2020/01/image-45-300x90.png 300w, https://it-biz.online/wp-content/uploads/2020/01/image-45-500x149.png 500w" sizes="(max-width: 683px) 100vw, 683px" /></figure></div>



<h3 class="wp-block-heading"><span id="toc5">変数の値を表示させる</span></h3>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE html>
&lt;html lang="ja">
  &lt;head>
    &lt;title>はじめてのalert&lt;/title>
  &lt;/head>
  &lt;body>
    &lt;script>
    const str = "変数strの値";
    alert(str)
    &lt;/script>
  &lt;/body>
&lt;/html></pre>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="681" height="199" src="https://it-biz.online/wp-content/uploads/2020/01/image-46.png" alt="" class="wp-image-3416" srcset="https://it-biz.online/wp-content/uploads/2020/01/image-46.png 681w, https://it-biz.online/wp-content/uploads/2020/01/image-46-300x88.png 300w, https://it-biz.online/wp-content/uploads/2020/01/image-46-500x146.png 500w" sizes="(max-width: 681px) 100vw, 681px" /></figure></div>



<h2 class="wp-block-heading"><span id="toc6">【補足】window.alert()の意味/alert()との違い</span></h2>



<p class="wp-block-paragraph">初心者にとっては、少しだけ分かりづらいのですが、alertメッセージはwindowオブジェクトの中の１つのメソッドです。</p>



<p class="wp-block-paragraph">したがって、本来は以下の記述方法が正式な形です。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">【正式版】構文ルール：alertメソッド</span></div><div class="label-box-content block-box-content box-content">
<p class="has-text-align-center has-large-font-size wp-block-paragraph"><strong><span style="color:#0095d9" class="color">window.alert(</span></strong>"メッセージ"<strong><span style="color:#0095d9" class="color">)</span></strong></p>
</div></div>



<p class="wp-block-paragraph">ただし、このwindowは基本的に省略可能なので、通常はコードの可読性向上のために単に「alert()」とコーディングすることが多いです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">window.alert('メッセージ');     //windowを記述しても処理内容は全く同じです

alert('メッセージ');            //windowを省略することもできます</pre>



<h2 class="wp-block-heading"><span id="toc7">JavaScriptを体系的に学びたい方は</span></h2>



<p class="wp-block-paragraph"><strong>プログラミングをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。</strong></p>



<p class="wp-block-paragraph">そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、１から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。</p>



<p class="wp-block-paragraph">各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/lifehack/programming/" title="おすすめプログラミングスクールTOP５【現役エンジニア推薦】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png 320w, https://it-biz.online/wp-content/uploads/2021/01/programming-300x168.png 300w, https://it-biz.online/wp-content/uploads/2021/01/programming-500x280.png 500w, https://it-biz.online/wp-content/uploads/2021/01/programming-768x429.png 768w, https://it-biz.online/wp-content/uploads/2021/01/programming-800x447.png 800w, https://it-biz.online/wp-content/uploads/2021/01/programming-240x135.png 240w, https://it-biz.online/wp-content/uploads/2021/01/programming-640x360.png 640w, https://it-biz.online/wp-content/uploads/2021/01/programming-1024x573.png 1024w, https://it-biz.online/wp-content/uploads/2021/01/programming.png 1354w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">おすすめプログラミングスクールTOP５【現役エンジニア推薦】</div><div class="blogcard-snippet internal-blogcard-snippet">プログラミングスキルを習得したい社会人・学生の方へおすすめしたいプログラミングスクールをニーズ別に３つに絞ってご紹介します。本当に未経験からでも実務レベルのスキルはみにつくか？現役エンジニアが口コミや実体験をもとに解説します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.05.30</div></div></div></div></a>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】1分で理解できる！document.write－文字列の表示方法【初心者向け】</title>
		<link>https://it-biz.online/web-design/document-write/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Wed, 29 Jan 2020 04:48:50 +0000</pubDate>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3468</guid>

					<description><![CDATA[JavaScriptで文字列（変数の値）を表示するdocument.write()の使い方を解説します。 document.write()は、JavaScript初心者が初めて動かすメソッドになることが多いのですが、そも [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong><span class="marker-under">JavaScriptで文字列（変数の値）を表示するdocument.write()の使い方を解説します。</span></strong></p>



<p class="wp-block-paragraph">document.write()は、JavaScript初心者が初めて動かすメソッドになることが多いのですが、そもそもdocument.write()って何？と疑問に思う方も大勢いらっしゃるはずです。</p>



<p class="wp-block-paragraph">このページでは、document.write()の意味と使い方、基本的な構文ルールや実際の利用シーンなどを網羅的に解説します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="label-box-content block-box-content box-content">
<ul class="wp-block-list"><li>document.write()の意味と処理内容</li><li>document.write()の構文ルールと使い方</li><li>document.write()を用いてHTMLのタグの内容を出力する方法</li><li>利用上の注意点・Tips</li></ul>
</div></div>



<p class="wp-block-paragraph">JavaScript初心者の方にとって、<strong><span style="color:#e60033" class="color">JavaScriptをマスターするために避けては通れない必須知識</span></strong>ですので是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-11" checked><label class="toc-title" for="toc-checkbox-11">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">document.writeとは？</a><ol><li><a href="#toc2" tabindex="0">文字列は``or""で囲む</a></li><li><a href="#toc3" tabindex="0">document.writeーHTMLタグと組み合わせ</a></li></ol></li><li><a href="#toc4" tabindex="0">document(オブジェクト).write(メソッド)</a><ol><li><a href="#toc5" tabindex="0">document　⇒　オブジェクト</a></li><li><a href="#toc6" tabindex="0">write　⇒　メソッド</a></li></ol></li><li><a href="#toc7" tabindex="0">JavaScriptを体系的に学びたい方は</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">document.writeとは？</span></h2>



<p class="wp-block-paragraph"><strong>document.write()は、文字列や変数の値を表示させるメソッドです。</strong></p>



<p class="wp-block-paragraph">引数「( )の中」に直接表示させたい内容を指定するだけでOKです。</p>



<p class="has-text-align-center has-medium-font-size wp-block-paragraph"><strong><span style="color:#0095d9" class="color">document</span></strong>.<span style="font-weight: bold; color: rgb(243, 152, 0);" class="color">write</span><span style="font-weight: bold; color: rgb(0, 149, 217);" class="color">(</span>表示させたい内容<strong><span style="color:#0095d9" class="color">)</span></strong></p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="wvBbzza" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="document.write1">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/wvBbzza">
  document.write1</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">文字列だけではなく、例えば変数の内容を表示させることもできます。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="ZEYZoox" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="document.write1">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/ZEYZoox">
  document.write1</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">JavaScriptでは、例えば変数の中身を知りたいときや、処理の結果を知りたいときにこのdocumentwrite()メソッドを高頻度で利用します。</p>



<p class="has-small-font-size wp-block-paragraph"><strong>※JavaScriptの「変数宣言」について詳しく知りたい方はこちらのページをご覧ください。</strong></p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/var-let/" title="【JavaScript】let・const・var の違いとは？初心者向けに使い分けを3分で整理" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2024/02/image-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/02/image-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】let・const・var の違いとは？初心者向けに使い分けを3分で整理</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript初心者向けガイド：変数の宣言方法をvar, let, constの違いを中心に解説。関数スコープ、ブロックスコープ、巻き上げ、再代入の可否などの基本概念を明確に理解し、実用的なサンプルコード付きでわかりやすくご説明します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.04.26</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc2">文字列は``or""で囲む</span></h3>



<p class="wp-block-paragraph">文字列は、<strong>``（シングルクォーテーション）もしくは""（ダブルクォーテーション）で囲む</strong>必要があります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">document.write("Hello World!");　//正常に出力される

document.write(`Hello World!`);       //こちらも正常に出力される

document.write(Hello World);          //出力エラー</pre>



<p class="wp-block-paragraph">最後の<strong>Hello World!</strong>は文字列とみなされないため、エラーが発生します。</p>



<p class="wp-block-paragraph">ちなみに、シングルクォーテーションとダブルクォーテーションを混ぜて利用するのはNGです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">document.write(`Hello World!");　//これはエラーになります</pre>



<h3 class="wp-block-heading"><span id="toc3">document.writeーHTMLタグと組み合わせ</span></h3>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/html-rule/" title="【初心者向け】HTMLの書き方の基本/基礎を３分で解説" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2019/10/html-rule-320x180.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/10/html-rule-320x180.jpg 320w, https://it-biz.online/wp-content/uploads/2019/10/html-rule-240x135.jpg 240w, https://it-biz.online/wp-content/uploads/2019/10/html-rule-640x360.jpg 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】HTMLの書き方の基本/基礎を３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【HTML入門編】HTMLの書き方を初心者向けにわかりやすくまとめました。HTMLって何？イメージがわきづらい方もこのページをご覧になれば「何となく」のイメージをつかめるはずです。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.07.10</div></div></div></div></a>
</div></figure>



<p class="wp-block-paragraph">document.write()では、<strong>引数の中身にHTMLタグを設置することができます。</strong></p>



<p class="has-text-align-center has-medium-font-size wp-block-paragraph">document.write(<strong><span style="color:#e60033" class="color">"</span><span style="color:#0095d9" class="color">&lt;開始タグ&gt;</span></strong>文字列<strong><span style="color:#0095d9" class="color">&lt;/終了タグ&gt;</span><span style="color:#e60033" class="color">"</span></strong>)</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="zYxQKKp" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="document.write3">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/zYxQKKp">
  document.write3</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">ここで注意すべきは、あくまでも<strong><span class="marker-under">表示される内容はHTMLのコードである</span></strong>ということです。</p>



<p class="wp-block-paragraph">つまり、JavaScript自体はHTMLのタグを認識しません。いわば通常のHTMLのタグも<strong>通常通りの文字列として一旦主力され、ブラウザで表示する際にHTMLタグが読み込まれる</strong>とも言えます。</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="929" height="588" src="https://it-biz.online/wp-content/uploads/2020/01/image-53.png" alt="" class="wp-image-3474" srcset="https://it-biz.online/wp-content/uploads/2020/01/image-53.png 929w, https://it-biz.online/wp-content/uploads/2020/01/image-53-300x190.png 300w, https://it-biz.online/wp-content/uploads/2020/01/image-53-500x316.png 500w, https://it-biz.online/wp-content/uploads/2020/01/image-53-768x486.png 768w, https://it-biz.online/wp-content/uploads/2020/01/image-53-800x506.png 800w" sizes="(max-width: 929px) 100vw, 929px" /></figure></div>



<p class="wp-block-paragraph">したがって、変数の値にHTMLタグを表示する際には、以下のようにそれぞれ別に””でくくる必要があります。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="QWwRKad" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="document.write7">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/QWwRKad">
  document.write7</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">そうしないと、以下のように文字列の一部として認識されてしまいます。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="bGNywBV" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="document.write4">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/bGNywBV">
  document.write4</a> by ビズドットオンライン (<a href="https://codepen.io/BizOnline">@BizOnline</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script>



<p class="wp-block-paragraph">初心者の方ほど、この点を誤ってしまうため注意が必要です。</p>



<h2 class="wp-block-heading"><span id="toc4">document(オブジェクト).write(メソッド)</span></h2>



<p class="wp-block-paragraph">ここまでの解説で、「<strong>document.write()</strong>」を利用すれば指定した文字列を表示できることが分かりました。</p>



<p class="wp-block-paragraph">この章では「<strong>document.write()</strong>」について少しだけ深堀して補足します。</p>



<h3 class="wp-block-heading"><span id="toc5">document　⇒　オブジェクト</span></h3>



<p class="wp-block-paragraph">「<strong>document.write()</strong>」の「document」は<strong><span class="marker-under">JavaScriptの中の１つのオブジェクトです。</span></strong></p>



<p class="wp-block-paragraph">オブジェクトは、目に見える対象物のことを表し、具体的にこのページで解説したdocumentは「今見ているページ」のことを指し示しています。</p>



<h3 class="wp-block-heading"><span id="toc6">write　⇒　メソッド</span></h3>



<p class="wp-block-paragraph">対して、write()は「<strong><span class="marker-under">documentオブジェクトのメソッド</span></strong>」のこと。</p>



<p class="wp-block-paragraph">メソッドとは、オブジェクトに備えらている「<strong>動作</strong>」のことです。具体的に説明すると「write()」は、（）の中に指定した文字列を書き込む処理のことを表しています。</p>



<p class="wp-block-paragraph">すなわち「document.write()」は、今見ているページに「<strong>（）の中の内容を書き込む</strong>」処理を表している処理であると理解できます。初心者の方であれば、オブジェクトとメソッドについてはまだ理解できていない、という方もいらっしゃるかもしれませんが、ここではなんとなくの意味をつかめればOKです。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">document.write()の意味</span></div><div class="label-box-content block-box-content box-content">
<p class="wp-block-paragraph">document　⇒　<strong>今見ているページ</strong></p>



<p class="wp-block-paragraph"><strong>に</strong></p>



<p class="wp-block-paragraph">write()　⇒　<strong>(　)の中の内容を書き込む</strong>　</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc7">JavaScriptを体系的に学びたい方は</span></h2>



<p class="wp-block-paragraph"><strong><span class="marker-under">プログラミングをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。</span></strong></p>



<p class="wp-block-paragraph">そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、１から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。</p>



<p class="wp-block-paragraph">各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-ビズドットオンライン"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/lifehack/programming/" title="おすすめプログラミングスクールTOP５【現役エンジニア推薦】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="320" height="180" src="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2021/01/programming-320x180.png 320w, https://it-biz.online/wp-content/uploads/2021/01/programming-300x168.png 300w, https://it-biz.online/wp-content/uploads/2021/01/programming-500x280.png 500w, https://it-biz.online/wp-content/uploads/2021/01/programming-768x429.png 768w, https://it-biz.online/wp-content/uploads/2021/01/programming-800x447.png 800w, https://it-biz.online/wp-content/uploads/2021/01/programming-240x135.png 240w, https://it-biz.online/wp-content/uploads/2021/01/programming-640x360.png 640w, https://it-biz.online/wp-content/uploads/2021/01/programming-1024x573.png 1024w, https://it-biz.online/wp-content/uploads/2021/01/programming.png 1354w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">おすすめプログラミングスクールTOP５【現役エンジニア推薦】</div><div class="blogcard-snippet internal-blogcard-snippet">プログラミングスキルを習得したい社会人・学生の方へおすすめしたいプログラミングスクールをニーズ別に３つに絞ってご紹介します。本当に未経験からでも実務レベルのスキルはみにつくか？現役エンジニアが口コミや実体験をもとに解説します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://it-biz.online" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">it-biz.online</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.05.30</div></div></div></div></a>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】let・const・var の違いとは？初心者向けに使い分けを3分で整理</title>
		<link>https://it-biz.online/web-design/var-let/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Wed, 22 Jan 2020 00:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3318</guid>

					<description><![CDATA[JavaScriptの let・const・var の違いを初心者向けに整理します。スコープ、再代入、再宣言、使い分けの基本を押さえながら、いま新しく書くコードでどれを選べばよいかをわかりやすく解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">JavaScriptの変数宣言を学ぶと、<code>let</code> と <code>const</code> と <code>var</code> の違いで迷いやすいです。が、結論からいうと、<strong><span class="marker-under">いま新しく書くコードでは「基本は <code>const</code>、再代入が必要なときだけ <code>let</code>、<code>var</code> は古いコードを読むための知識」と考えれば大丈夫</span></strong>です。</p>



<p class="wp-block-paragraph">ただし、3つの違いを曖昧なまま使うと、変数のスコープや再宣言の挙動で混乱しやすくなります。この記事では、<strong><code>let</code>・<code>const</code>・<code>var</code> の違い、使い分け、よくあるつまずき</strong>を初心者向けに整理します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img wpfc-lazyload-disable="true" decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>迷ったら、まず <code>const</code> で書けないかを考えるのがいちばん実務的です。</p>
</div></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">結論：let・const・var の違いはここだけ押さえればOK</a></li><li><a href="#toc2" tabindex="0">1. var は古い書き方で、挙動が少し特殊</a></li><li><a href="#toc3" tabindex="0">2. let は「あとで値が変わる変数」に使う</a></li><li><a href="#toc4" tabindex="0">3. const は「基本の選択肢」</a></li><li><a href="#toc5" tabindex="0">4. どう使い分ければよいのか</a></li><li><a href="#toc6" tabindex="0">5. よくあるつまずき</a><ol><li><a href="#toc7" tabindex="0">宣言前に使おうとしてエラーになる</a></li><li><a href="#toc8" tabindex="0">const なのに中身を書き換えられる</a></li><li><a href="#toc9" tabindex="0">var を使っていて思わぬ場所で値が見えてしまう</a></li></ol></li><li><a href="#toc10" tabindex="0">補足：コードと実務場面で見る let・const・var の選び方</a><ol><li><a href="#toc11" tabindex="0">実務でよく見る場面</a></li><li><a href="#toc12" tabindex="0">迷ったときのチェックリスト</a></li><li><a href="#toc13" tabindex="0">この違いが分からないと困ること</a></li></ol></li><li><a href="#toc14" tabindex="0">関連して学びたい記事</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">結論：let・const・var の違いはここだけ押さえればOK</span></h2>



<figure class="wp-block-table aligncenter is-style-regular"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>宣言方法</th><th>スコープ</th><th>再代入</th><th>再宣言</th><th>使いどころ</th></tr></thead><tbody><tr><td><code>var</code></td><td>関数スコープ</td><td>できる</td><td>できる</td><td>古いコードを読むとき</td></tr><tr><td><code>let</code></td><td>ブロックスコープ</td><td>できる</td><td>できない</td><td>値が変わる変数</td></tr><tr><td><code>const</code></td><td>ブロックスコープ</td><td>できない</td><td>できない</td><td>値を固定したいとき</td></tr></tbody></table></div></figure>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-blue">ポイント</span> <strong>「スコープ」と「再代入できるか」で見分けると整理しやすいです</strong></p>
</div>



<h2 class="wp-block-heading"><span id="toc2">1. var は古い書き方で、挙動が少し特殊</span></h2>



<p class="wp-block-paragraph"><code>var</code> は昔からある変数宣言です。いまでも古いJavaScriptコードではよく見かけますが、<strong>ブロックスコープを持たない</strong>ため、初心者が混乱しやすい書き方でもあります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">if (true) {
  var message = "varで宣言";
}

console.log(message); // varで宣言</pre>



<p class="wp-block-paragraph">この例では、<code>if</code> 文の中で宣言した <code>message</code> を外でも使えています。これは <code>var</code> が <code>{ }</code> のブロックではなく、関数単位で有効になるためです。</p>



<p class="wp-block-paragraph">さらに <code>var</code> は同じスコープで再宣言もできるので、意図しない上書きが起きやすくなります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">var count = 1;
var count = 2;

console.log(count); // 2</pre>



<p class="wp-block-paragraph">この柔らかさが便利な場面もありますが、現在の開発ではバグの原因になりやすいため、新しく書くコードではあまり使いません。</p>



<h2 class="wp-block-heading"><span id="toc3">2. let は「あとで値が変わる変数」に使う</span></h2>



<p class="wp-block-paragraph"><code>let</code> はブロックスコープを持つ変数宣言です。つまり、<code>if</code> 文や <code>for</code> 文などの <code>{ }</code> の中で宣言すると、その外では使えません。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">if (true) {
  let total = 10;
  console.log(total); // 10
}

// console.log(total); // ReferenceError</pre>



<p class="wp-block-paragraph">また、<code>let</code> は再代入できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">let score = 0;

score = 100;

console.log(score); // 100</pre>



<p class="wp-block-paragraph">そのため、カウントアップや入力値の更新など、<strong>途中で値が変わる前提の変数</strong>に向いています。</p>



<h2 class="wp-block-heading"><span id="toc4">3. const は「基本の選択肢」</span></h2>



<p class="wp-block-paragraph"><code>const</code> も <code>let</code> と同じくブロックスコープです。違いは、<strong>再代入できない</strong>ことです。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const taxRate = 0.1;

// taxRate = 0.2; // TypeError</pre>



<p class="wp-block-paragraph">一度決めた値を後から変えたくないときに使うことで、「この値は書き換えないつもりです」という意図がコードから伝わります。</p>



<p class="wp-block-paragraph">ただし、ここで1つだけ勘違いしやすい点があります。<code>const</code> は「中身が完全に不変」という意味ではありません。<strong>再代入できないのは変数そのもの</strong>で、オブジェクトや配列の中身は変更できます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const user = {
  name: "田中"
};

user.name = "佐藤";

console.log(user.name); // 佐藤</pre>



<p class="wp-block-paragraph">この性質まで知っておくと、<code>const</code> への苦手意識がかなり減ります。</p>



<h2 class="wp-block-heading"><span id="toc5">4. どう使い分ければよいのか</span></h2>



<p class="wp-block-paragraph">実務でも学習でも、使い分けは次のルールでほぼ十分です。</p>



<ul class="wp-block-list">
<li>基本は <code>const</code></li>



<li>あとで値を入れ替えるなら <code>let</code></li>



<li><code>var</code> は古いコードを読むときの知識</li>
</ul>



<p class="wp-block-paragraph">たとえば、APIのURLや設定値、固定のメッセージなどは <code>const</code> に向いています。ループ回数や状態の更新などは <code>let</code> が自然です。</p>



<p class="wp-block-paragraph">変数の有効範囲まで含めて理解したい方は、<a href="https://it-biz.online/web-design/javascript-scope/">JavaScriptのスコープの記事</a>もあわせて読むと、より整理しやすくなります。</p>



<h2 class="wp-block-heading"><span id="toc6">5. よくあるつまずき</span></h2>



<h3 class="wp-block-heading"><span id="toc7">宣言前に使おうとしてエラーになる</span></h3>



<p class="wp-block-paragraph"><code>let</code> と <code>const</code> は、宣言より前で使うとエラーになります。これは不具合ではなく、安全のための仕様です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="javascript">// console.log(price); // ReferenceError
let price = 500;</pre>



<h3 class="wp-block-heading"><span id="toc8">const なのに中身を書き換えられる</span></h3>



<p class="wp-block-paragraph"><code>const</code> は再代入を禁止するだけなので、配列の <code>push</code> やオブジェクトのプロパティ変更はできます。ここで「壊れている」と感じやすいですが、仕様どおりです。</p>



<h3 class="wp-block-heading"><span id="toc9">var を使っていて思わぬ場所で値が見えてしまう</span></h3>



<p class="wp-block-paragraph">古いサンプルコードをそのまま写すと、<code>if</code> 文の外でも値が使えてしまい、なぜ動くのか分からなくなることがあります。そういうときはまず「<code>var</code> だからかもしれない」と疑うと解決しやすいです。</p>



<h2 class="wp-block-heading"><span id="toc10">補足：コードと実務場面で見る let・const・var の選び方</span></h2>



<p class="wp-block-paragraph">ここまでで <code>let</code>・<code>const</code>・<code>var</code> の基本的な違いを整理しました。ここでは、実際にコードを書いているときに迷いやすい場面を、もう少し具体的に見ていきます。</p>



<p class="wp-block-paragraph">特に初心者の方がつまずきやすいのは、「値を変えられるか」だけで判断してしまうことです。もちろん再代入できるかどうかは大事ですが、実務ではそれと同じくらい「その変数がどこから見えるか」も重要になります。</p>



<p class="wp-block-paragraph">まずは次の画像で、<code>var</code> と <code>let</code> の見え方の違いを確認してください。コードそのものは短いですが、JavaScriptの変数宣言で混乱しやすいポイントが詰まっています。</p>



<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-var-let-code-result.png" alt="JavaScriptのvarとletのスコープ差をコードと実行結果で示した図" />
  <figcaption>varはブロックの外からも見えますが、letはブロックの外では使えません。</figcaption>
</figure>



<p class="wp-block-paragraph">この画像で見てほしいのは、<code>if</code> の中で宣言した変数が、外側から使えるかどうかです。<code>var</code> で宣言した <code>oldName</code> は外側でも表示されますが、<code>let</code> で宣言した <code>newName</code> は外側で参照すると <code>ReferenceError</code> になります。</p>



<p class="wp-block-paragraph">一見すると、外側でも使える <code>var</code> のほうが便利に見えるかもしれません。しかし、実務では「思ったより広い範囲から変数が見えてしまう」ことがバグにつながります。たとえば、画面の入力チェック、一覧の絞り込み、フォームの送信処理などでは、同じ名前の変数を別の場所で使ってしまうことがあります。そのとき、変数の有効範囲が広すぎると、どこで値が変わったのか追いかけにくくなります。</p>



<p class="wp-block-paragraph">そのため、今から新しくJavaScriptを書くなら、まずは <code>const</code> を基本にして、値を後から入れ替える必要がある場合だけ <code>let</code> を使うのが安全です。<code>var</code> は「古いコードを読むために知っておくもの」と考えると、かなり整理しやすくなります。</p>



<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-var-let-choice-flow.png" alt="JavaScriptのlet const varの選び方を初心者向けに整理した比較表" />
  <figcaption>新しく書くコードでは、constを基本にして、値が変わるときだけletを選ぶと整理しやすくなります。</figcaption>
</figure>



<p class="wp-block-paragraph">この図では、迷ったときの判断順を示しています。最初に「その値は後から変わるか」を考えます。変わらないなら <code>const</code>、変わるなら <code>let</code>、古いコードを読むときだけ <code>var</code> を理解する、という流れです。</p>



<p class="wp-block-paragraph">たとえば、消費税率、APIのURL、HTML要素を取得した結果など、基本的に差し替えない値は <code>const</code> が向いています。一方で、クリック回数、フォーム入力の途中状態、ループの中で更新する合計値などは <code>let</code> が向いています。</p>



<pre><code>const taxRate = 0.1;
let total = 0;

for (const price of [100, 200, 300]) {
  total += price;
}

console.log(total); // 600</code></pre>



<p class="wp-block-paragraph">この例では、<code>taxRate</code> のように変わらない値は <code>const</code>、<code>total</code> のように後から加算していく値は <code>let</code> にしています。こうして役割を分けると、後から読んだ人も「この値は変わるのか、変わらないのか」をすぐ判断できます。</p>



<p class="wp-block-paragraph">よくあるミスは、すべてを何となく <code>let</code> で書いてしまうことです。動きはしますが、変わらないはずの値まで再代入できる状態になってしまいます。逆に、すべてを <code>const</code> にしてしまうと、カウントや合計のように値を更新する処理で困ります。大事なのは、宣言方法を暗記することではなく、変数の役割に合わせて選ぶことです。</p>



<h3 class="wp-block-heading"><span id="toc11">実務でよく見る場面</span></h3>



<p class="wp-block-paragraph">実際の開発では、<code>const</code> は「参照先を変えないもの」によく使います。たとえば、フォーム要素を取得した結果、APIのエンドポイント、画面に表示する固定メッセージなどです。これらは一度決めたら別の値に差し替えないため、<code>const</code> にしておくと読み手が安心できます。</p>



<p class="wp-block-paragraph"><code>let</code> は、処理の途中で値が変わること自体に意味がある場面で使います。たとえば、検索条件を組み立てる途中の文字列、合計金額、ページ番号、バリデーション結果などです。あとで値が変わることが分かっているなら、<code>let</code> を使う理由があります。</p>



<p class="wp-block-paragraph"><code>var</code> は、古い記事や古い社内システムのコードを読むときに出てきます。新しく書くコードでは避けることが多いですが、既存コードを保守する場面では、<code>var</code> がなぜ外側から見えてしまうのかを理解しておく必要があります。</p>



<h3 class="wp-block-heading"><span id="toc12">迷ったときのチェックリスト</span></h3>



<ul class="wp-block-list">
<li>その値を後から入れ替える必要がないなら、まず <code>const</code> を選ぶ</li>



<li>カウントや合計のように値を更新するなら、<code>let</code> を選ぶ</li>



<li>古いコードを読むときだけ、<code>var</code> の関数スコープに注意する</li>



<li>同じ名前の変数を近い場所で何度も使っていないか確認する</li>
</ul>



<h3 class="wp-block-heading"><span id="toc13">この違いが分からないと困ること</span></h3>



<p class="wp-block-paragraph">変数宣言の違いを曖昧にしたままだと、最初は動いているように見えても、少しコードが長くなった時点で原因を追いにくい不具合が出ます。たとえば、同じ画面の中で検索条件、並び替え条件、入力チェック結果を扱っているとき、意図しない場所で変数が上書きされると、表示結果だけがおかしく見えることがあります。</p>



<p class="wp-block-paragraph">このような不具合は、文法エラーとしてすぐ止まるとは限りません。画面は表示されるのに、検索結果だけ違う、ボタンを2回押したときだけ値が変になる、という形で現れることがあります。だからこそ、最初から変数の範囲を狭くし、変えない値は変えられないようにしておくことが大切です。</p>



<p class="wp-block-paragraph">実務では、コードを書いた本人だけでなく、あとから別の人が読むことも多いです。<code>const</code> が使われていれば「この値は基本的に変わらない」、<code>let</code> が使われていれば「後で変わる可能性がある」と読み取れます。宣言方法そのものが、コードを読む人への小さなメッセージになります。</p>



<p class="wp-block-paragraph">この考え方は、<a href="https://it-biz.online/web-design/javascript-scope/">JavaScriptのスコープ</a> や <a href="https://it-biz.online/web-design/function/">function（関数）</a> を学ぶときにもつながります。変数がどこから見えるのか、どこで値が変わるのかを意識できると、JavaScriptのコードはかなり読みやすくなります。</p>



<p class="wp-block-paragraph">もう少し実務寄りに考えると、変数宣言は「将来の自分が読み返したときのヒント」にもなります。数週間後に同じコードを見たとき、<code>const</code> で宣言されていれば、その値は途中で差し替えない前提だとすぐ分かります。</p>



<p class="wp-block-paragraph">逆に <code>let</code> が使われている場合は、処理のどこかで値が変わる可能性を意識して読みます。デバッグするときも、最初から「この変数は更新されるものだ」と分かるため、確認すべき場所を絞り込みやすくなります。</p>



<p class="wp-block-paragraph">初心者の段階では、まず「基本は <code>const</code>、必要なときだけ <code>let</code>、古いコードで <code>var</code> を読む」と決めておくと迷いが減ります。このルールだけでも、変数の上書きミスやスコープの勘違いをかなり減らせます。</p>



<p class="wp-block-paragraph">小さなルールですが、コードが長くなるほど効果が出ます。変数宣言を丁寧に選ぶことは、バグを防ぐだけでなく、チームで読みやすいコードを書く第一歩になります。</p>



<h2 class="wp-block-heading"><span id="toc14">関連して学びたい記事</span></h2>



<ul class="wp-block-list">
<li><a href="https://it-biz.online/web-design/javascript-scope/">JavaScriptのスコープ（変数の有効範囲）とは？</a></li>



<li><a href="https://it-biz.online/web-design/function/">JavaScriptの関数 function の使い方</a></li>



<li><a href="https://it-biz.online/web-design/arrow-function/">JavaScriptのアロー関数とは？</a></li>
</ul>



<h2 class="wp-block-heading"><span id="toc15">まとめ</span></h2>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span> <strong>let・const・var の使い分け</strong></p>

<ul class="wp-block-list">
<li><code>var</code> は古い書き方で、関数スコープを持つ</li>
<li><code>let</code> は再代入できるブロックスコープの変数</li>
<li><code>const</code> は再代入できないブロックスコープの定数</li>
<li>新しく書くコードでは、基本は <code>const</code>、必要に応じて <code>let</code> を使う</li>
<li><code>var</code> は主に古いコードを読むときに理解しておけば十分</li>
</ul>
</div>



<p class="wp-block-paragraph">JavaScriptの変数宣言は、最初にきちんと整理しておくと後の学習がかなり楽になります。特にスコープと再代入の違いを押さえておくと、関数やアロー関数、非同期処理を学ぶときにもつまずきにくくなります。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】コールバック関数とは？意味・使い方・Promiseとの違いをやさしく解説</title>
		<link>https://it-biz.online/web-design/callback-function/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 13 Feb 2024 04:20:37 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8900</guid>

					<description><![CDATA[JavaScriptのコールバック関数とは何かを初心者向けに解説します。基本の意味、配列処理や非同期処理での使い方、関数を渡す考え方、Promiseとの違いまでやさしく整理します。]]></description>
										<content:encoded><![CDATA[<p>JavaScriptの学習で「コールバック関数」という言葉が出てくると、一気に難しく感じやすいです。結論からいうと、<strong><span class="marker-under">コールバック関数とは「別の関数に引数として渡して、あとで実行してもらう関数」</span></strong>です。</p>
<p>意味だけ聞くと抽象的ですが、実際は配列処理やイベント処理、非同期処理で毎日のように使われます。この記事では、<strong>コールバック関数の意味、基本例、非同期処理との関係、Promiseとの違い</strong>を初心者向けに整理します。</p>
<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon">
<div class="speech-person">
<figure class="speech-icon"><img wpfc-lazyload-disable="true" decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure>
<div class="speech-name"></div>
</div>
<div class="speech-balloon">
<p>「あとで呼び出すために渡す関数」と言い換えると、かなり分かりやすくなります。</p>
</div>
</div>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-13" checked><label class="toc-title" for="toc-checkbox-13">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">結論：コールバック関数は処理の差し込み口</a></li><li><a href="#toc2" tabindex="0">1. なぜコールバック関数を使うのか</a></li><li><a href="#toc3" tabindex="0">2. 配列処理でもコールバックは使われている</a></li><li><a href="#toc4" tabindex="0">3. 非同期処理でのコールバック関数</a></li><li><a href="#toc5" tabindex="0">4. Promise や async/await と何が違うのか</a></li><li><a href="#toc6" tabindex="0">5. よくあるつまずき</a><ol><li><a href="#toc7" tabindex="0">関数を渡すのではなく、その場で実行してしまう</a></li><li><a href="#toc8" tabindex="0">引数の流れが分からなくなる</a></li><li><a href="#toc9" tabindex="0">非同期処理だけの用語だと思ってしまう</a></li></ol></li><li><a href="#toc10" tabindex="0">補足：コールバック関数を実務で読むための見方</a><ol><li><a href="#toc11" tabindex="0">コールバックを読むときのチェックリスト</a></li><li><a href="#toc12" tabindex="0">コールバックで混乱しやすい実務場面</a></li></ol></li><li><a href="#toc13" tabindex="0">関連して学びたい記事</a></li><li><a href="#toc14" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">結論：コールバック関数は処理の差し込み口</span></h2>
<p>まずはシンプルな例を見てみます。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">function processUser(name, callback) {
  console.log("処理開始");
  callback(name);
}

function greet(userName) {
  console.log("こんにちは、" + userName + "さん");
}

processUser("田中", greet);</pre>
<p>この例では、<code>greet</code> がコールバック関数です。<code>processUser</code> に渡されて、内部であとから実行されています。</p>
<p>つまり、コールバック関数は「処理の流れのどこかで実行したい追加処理」を外から差し込むための仕組みです。</p>
<h2 class="wp-block-heading"><span id="toc2">1. なぜコールバック関数を使うのか</span></h2>
<p>コールバック関数を使うと、親の関数の中身を固定しすぎず、実行する処理だけを外から差し替えられます。</p>
<p>たとえば、同じ「データ取得後の処理」でも、ある画面では表示したい、別の画面では保存したい、ということがあります。そんなとき、結果の後処理だけをコールバックとして渡せば、関数の再利用性が高まります。</p>
<h2 class="wp-block-heading"><span id="toc3">2. 配列処理でもコールバックは使われている</span></h2>
<p>コールバック関数は非同期処理だけの話ではありません。配列の <code>forEach</code> や <code>map</code> でも使われています。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const numbers = [1, 2, 3];

numbers.forEach(function(number) {
  console.log(number);
});</pre>
<p><code>forEach</code> に渡している関数がコールバック関数です。配列の要素1つ1つに対して、あとで順番に呼び出されています。</p>
<p>この形はアロー関数と相性がよく、実務では次のようにもよく書きます。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">numbers.forEach(number =&gt; {
  console.log(number);
});</pre>
<p><a href="https://it-biz.online/web-design/foreach/">forEach の記事</a>や<a href="https://it-biz.online/web-design/arrow-function/">アロー関数の記事</a>もあわせて読むと、実際の見え方がつかみやすいです。</p>
<h2 class="wp-block-heading"><span id="toc4">3. 非同期処理でのコールバック関数</span></h2>
<p>コールバック関数が特に重要になるのは、時間がかかる処理の完了後に何かをしたい場面です。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">setTimeout(function() {
  console.log("2秒後に実行");
}, 2000);</pre>
<p>ここでは、<code>setTimeout</code> に渡した関数が2秒後に実行されます。これも立派なコールバック関数です。</p>
<p>つまり、「今すぐではなく、ある条件がそろった後で呼び出す関数」がコールバックだと考えると整理しやすいです。</p>
<h2 class="wp-block-heading"><span id="toc5">4. Promise や async/await と何が違うのか</span></h2>
<p>昔からJavaScriptの非同期処理ではコールバック関数がよく使われてきました。ただ、非同期処理が何段も続くと、関数の入れ子が深くなって読みにくくなることがあります。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">step1(function() {
  step2(function() {
    step3(function() {
      console.log("完了");
    });
  });
});</pre>
<p>このような状態は「コールバック地獄」と呼ばれます。そこで、今のJavaScriptでは Promise や async/await を使って、もっと読みやすく非同期処理を書くことが増えました。</p>
<p>ただし、だからといってコールバック関数が不要になるわけではありません。イベント処理、配列メソッド、ライブラリのAPIなどでは今でも頻繁に登場します。</p>
<h2 class="wp-block-heading"><span id="toc6">5. よくあるつまずき</span></h2>
<h3 class="wp-block-heading"><span id="toc7">関数を渡すのではなく、その場で実行してしまう</span></h3>
<p>コールバック関数では、<code>greet</code> を渡すのであって、<code>greet()</code> を先に実行するわけではありません。この違いは非常に大切です。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">processUser("田中", greet);   // OK
// processUser("田中", greet()); // これは別物</pre>
<h3 class="wp-block-heading"><span id="toc8">引数の流れが分からなくなる</span></h3>
<p>親の関数からコールバックへ、どの値が渡されるのかを追う必要があります。慣れるまでは、サンプルコードを紙に書いて流れを追うと理解しやすいです。</p>
<h3 class="wp-block-heading"><span id="toc9">非同期処理だけの用語だと思ってしまう</span></h3>
<p>実際には <code>forEach</code> や <code>map</code> のような同期処理でも使われています。コールバックは「使われる場面」ではなく、「関数の渡し方」の名前だと考えるのがポイントです。</p>
<h2><span id="toc10">補足：コールバック関数を実務で読むための見方</span></h2>
<p>コールバック関数は、言葉だけ見ると難しそうですが、実際には「あとで実行してほしい処理を、先に渡しておく仕組み」です。イベント処理、配列処理、API通信など、JavaScriptではかなり頻繁に登場します。</p>
<p>まずは、コールバックを処理の流れとして見てみます。ポイントは、関数をその場で実行するのではなく、別の関数に預けて、必要なタイミングで呼び出してもらうことです。</p>
<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-callback-flow.png" alt="JavaScriptのコールバック関数が後で呼ばれる流れを説明した図" /><figcaption>コールバック関数は、関数を渡し、親の関数が必要なタイミングであとから実行する仕組みです。</figcaption></figure>
<p>この図で見てほしいのは、「渡す」と「呼ぶ」が別のタイミングで起きることです。コールバック関数は、渡した瞬間に必ず実行されるわけではありません。親の関数の中で、条件がそろったとき、クリックされたとき、通信が終わったときなどに実行されます。</p>
<p>実務でよく見るのは、ボタンのクリック処理です。画面のボタンに対して「クリックされたらこの関数を実行してね」と登録する処理は、コールバックの代表例です。</p>
<pre><code>function sayHello() {
  console.log("こんにちは");
}

button.addEventListener("click", sayHello);</code></pre>
<p>この例では、<code>sayHello</code> をその場で実行しているのではなく、クリックされたときに実行してもらうために渡しています。ここで重要なのが、関数名の後ろに <code>()</code> を付けないことです。</p>
<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-callback-code-result.png" alt="JavaScriptで関数を渡す場合と実行する場合の違いを示した図" /><figcaption>関数を渡すときはカッコなし、関数をその場で実行するときはカッコありです。</figcaption></figure>
<p>この画像では、<code>sayHello</code> と <code>sayHello()</code> の違いを示しています。<code>sayHello</code> は関数そのものを渡しているため、クリック後に実行されます。一方で <code>sayHello()</code> はその場で関数を実行してしまい、イベントに登録したい処理としては意図とずれます。</p>
<p>初心者の方が混乱しやすいのは、「関数を渡す」と「関数を実行する」が見た目では少ししか違わないことです。カッコがあるかないかだけですが、意味は大きく変わります。コールバックを読むときは、まずその関数が今実行されるのか、あとで実行されるのかを確認しましょう。</p>
<p>もうひとつ大切なのは、コールバック関数は非同期処理だけの用語ではないという点です。<code>forEach</code> や <code>map</code> のような配列処理でも、引数として渡している関数はコールバックです。</p>
<pre><code>const numbers = [1, 2, 3];

numbers.forEach(number =&gt; {
  console.log(number);
});</code></pre>
<p>この例では、<code>number =&gt; { ... }</code> がコールバック関数です。配列の要素ごとにあとから呼ばれる処理として渡されています。配列処理でコールバックに慣れておくと、Promiseや <code>async/await</code> の理解にもつながります。</p>
<p>関連して、関数そのものの基本は <a href="https://it-biz.online/web-design/function/">function（関数）</a>、短く書く記法は <a href="https://it-biz.online/web-design/arrow-function/">アロー関数</a>、非同期処理の整理は <a href="https://it-biz.online/web-design/async-await/">async/await</a> を読むと理解がつながりやすいです。</p>
<h3><span id="toc11">コールバックを読むときのチェックリスト</span></h3>
<p>コールバック関数を読むときは、いきなり中身を細かく追うより、まず「誰が、いつ、この関数を呼ぶのか」を確認すると整理しやすいです。配列処理なら配列の各要素ごと、イベント処理ならクリックされたとき、通信処理なら結果が返ってきたとき、というように実行タイミングを先に押さえます。</p>
<ul>
<li>関数を渡しているだけなのか、その場で実行しているのか</li>
<li>コールバックに渡される引数は何か</li>
<li>戻り値を使う処理なのか、表示や保存などの副作用を起こす処理なのか</li>
<li>非同期処理なら、どの順番で実行されるのか</li>
</ul>
<p>特に非同期処理では、コードに書いた順番と実行される順番が一致しないことがあります。たとえば、タイマー、API通信、ファイル読み込みなどは、後から処理が完了します。その「完了したあとに何をするか」を渡すのが、コールバックの重要な役割です。</p>
<pre><code>console.log("開始");

setTimeout(() =&gt; {
  console.log("あとで実行");
}, 1000);

console.log("終了");</code></pre>
<p>このコードでは、出力順は「開始」「終了」「あとで実行」になります。<code>setTimeout</code> に渡した関数は、すぐには実行されず、指定した時間のあとに呼び出されるからです。</p>
<h3><span id="toc12">コールバックで混乱しやすい実務場面</span></h3>
<p>実務でコールバックが分かりにくくなるのは、処理が何段階もつながったときです。たとえば、ボタンを押す、入力値をチェックする、APIへ送る、結果を受け取る、画面を書き換える、という流れでは、それぞれのタイミングで関数が呼ばれます。</p>
<p>このとき、どの関数が最初に実行され、どの関数があとから実行されるのかを整理しないと、コードが急に読みにくくなります。特に、通信処理では結果が返ってくるまで時間がかかるため、「送った直後」と「結果が返った後」を分けて考えることが大切です。</p>
<p>最近のJavaScriptでは、非同期処理を <code>Promise</code> や <code>async/await</code> で書くことも多いですが、内部では「処理が終わったら次に何をするか」という考え方が残っています。つまり、コールバックを理解しておくと、より新しい書き方も読みやすくなります。</p>
<p>このように、コールバック関数は「処理の順番を後ろへ回す」「処理の一部を外から差し込む」ための基本的な考え方です。最初は難しく感じますが、イベント処理や配列処理の身近な例から慣れていくと、Promiseやasync/awaitも理解しやすくなります。</p>
<p>注意点として、コールバックに渡す関数をその場で実行してしまうミスはとても多いです。イベントに登録したいのに <code>()</code> を付けてしまうと、クリック前に処理が走ってしまい、クリック時には何も起きないように見えることがあります。</p>
<p>もうひとつのよくあるミスは、コールバックの中で使う値が、実行されるタイミングでは変わっているケースです。特にループや非同期処理では、コードを書いた順番だけでなく、実際にいつ呼ばれるかを意識する必要があります。</p>
<p>コールバックを読むときは、「渡している関数」「受け取っている関数」「実行されるタイミング」を分けてメモすると整理しやすいです。最初は少し面倒に感じますが、この3つを分けるだけで、イベント処理やAPI通信のコードがかなり読みやすくなります。</p>
<p>実務では、ボタンを押した後の処理、入力フォームの変更検知、通信完了後の画面更新など、ユーザー操作とコールバックが強く結びつきます。つまり、コールバックは文法だけでなく、画面の動きそのものを理解するための考え方でもあります。</p>
<p>慣れてきたら、コールバックで書かれた処理を <code>async/await</code> ではどう表すかを比べてみると理解が深まります。書き方は変わっても、「ある処理が終わった後に次の処理を実行する」という基本は同じです。</p>
<p>最初は、ボタンや配列処理のような身近な例から確認すると十分です。小さな例で「あとで呼ばれる」感覚をつかめると、非同期通信のコードも段階的に読みやすくなります。</p>
<p>迷ったときは、関数名の後ろにカッコがあるかを最初に確認しましょう。</p>
<h2 class="wp-block-heading"><span id="toc13">関連して学びたい記事</span></h2>
<ul class="wp-block-list">
<li><a href="https://it-biz.online/web-design/function/">JavaScriptの関数 function の使い方</a></li>
<li><a href="https://it-biz.online/web-design/arrow-function/">JavaScriptのアロー関数とは？</a></li>
<li><a href="https://it-biz.online/web-design/foreach/">JavaScriptの forEach メソッドとは？</a></li>
</ul>
<h2 class="wp-block-heading"><span id="toc14">まとめ</span></h2>
<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span> <strong>コールバック関数の基本</strong></p>
<ul class="wp-block-list">
<li>コールバック関数は、別の関数に渡してあとで実行してもらう関数</li>
<li>配列処理、イベント処理、非同期処理でよく使われる</li>
<li>関数そのものを渡すのであって、先に実行するわけではない</li>
<li>非同期処理が深く入れ子になると読みにくくなる</li>
<li>Promise や async/await は、その読みにくさを改善するための考え方</li>
</ul>
</div>
<p>コールバック関数は、最初は抽象的に見えますが、「後で呼び出すための関数を渡しているだけ」と分かると一気に読みやすくなります。JavaScriptの非同期処理を理解する土台にもなるので、ここでしっかり押さえておくのがおすすめです。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】function（関数）とは？使い方と引数・戻り値を初心者向けに解説</title>
		<link>https://it-biz.online/web-design/function/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 28 Jan 2020 12:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3439</guid>

					<description><![CDATA[JavaScriptの function（関数）とは何かを初心者向けに解説します。関数の意味、書き方、引数と戻り値、関数式との違い、スコープの基本までシンプルに整理します。]]></description>
										<content:encoded><![CDATA[<p>JavaScriptを学び始めると、何度も同じ処理を書くのが面倒に感じる場面が出てきます。そんなときに使うのが関数です。結論からいうと、<strong><span class="marker-under">関数とは「処理をまとめて名前を付けた再利用できる部品」</span></strong>です。</p>
<p>関数を理解すると、コードの重複を減らし、読みやすく保守しやすいプログラムを書けるようになります。この記事では、<strong>JavaScriptの関数とは何か、書き方、引数と戻り値、よくあるつまずき</strong>を初心者向けに整理します。</p>
<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon">
<div class="speech-person">
<figure class="speech-icon"><img wpfc-lazyload-disable="true" decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure>
<div class="speech-name"></div>
</div>
<div class="speech-balloon">
<p>まずは「同じ処理を何度も使い回すための仕組み」と覚えるだけでも十分です。</p>
</div>
</div>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">結論：関数で押さえたいのは3つだけ</a></li><li><a href="#toc2" tabindex="0">1. 関数とは何か</a></li><li><a href="#toc3" tabindex="0">2. JavaScriptで関数を書く基本形</a></li><li><a href="#toc4" tabindex="0">3. 引数と戻り値を理解すると実用的になる</a></li><li><a href="#toc5" tabindex="0">4. 関数宣言と関数式の違い</a></li><li><a href="#toc6" tabindex="0">5. 関数の中で作った変数は外では使えない</a></li><li><a href="#toc7" tabindex="0">6. よくあるつまずき</a><ol><li><a href="#toc8" tabindex="0">関数を定義しただけで実行されたと思い込む</a></li><li><a href="#toc9" tabindex="0">return と console.log を同じものだと思ってしまう</a></li><li><a href="#toc10" tabindex="0">引数を受け取る関数に値を渡し忘れる</a></li></ol></li><li><a href="#toc11" tabindex="0">補足：関数を実務で使うときの見方</a><ol><li><a href="#toc12" tabindex="0">関数に切り出すか迷ったときの判断</a></li><li><a href="#toc13" tabindex="0">よくあるミスを防ぐコツ</a></li><li><a href="#toc14" tabindex="0">関数を小さく分けるメリット</a></li><li><a href="#toc15" tabindex="0">関数を書くときの順番</a></li></ol></li><li><a href="#toc16" tabindex="0">関連して学びたい記事</a></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">結論：関数で押さえたいのは3つだけ</span></h2>
<ul class="wp-block-list">
<li>関数は処理のまとまり</li>
<li>引数は関数に渡す入力</li>
<li>戻り値は関数が返す結果</li>
</ul>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">function add(a, b) {
  return a + b;
}

const result = add(3, 5);
console.log(result); // 8</pre>
<p>この短いコードだけでも、関数の基本が詰まっています。<code>add</code> が関数名、<code>a</code> と <code>b</code> が引数、<code>return a + b;</code> が戻り値です。</p>
<h2 class="wp-block-heading"><span id="toc2">1. 関数とは何か</span></h2>
<p>関数は、一連の処理をひとまとまりにしたものです。たとえば「税込価格を計算する」「あいさつ文を作る」「ボタンが押されたら実行する処理」などを関数として切り出せます。</p>
<p>関数を使うメリットは主に次の3つです。</p>
<ul class="wp-block-list">
<li>同じコードを何度も書かずに済む</li>
<li>処理の意味が名前で分かるようになる</li>
<li>修正箇所を1か所にまとめやすい</li>
</ul>
<h2 class="wp-block-heading"><span id="toc3">2. JavaScriptで関数を書く基本形</span></h2>
<p>もっとも基本的な書き方は、<code>function</code> を使う関数宣言です。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">function greet(name) {
  console.log("こんにちは、" + name + "さん");
}

greet("田中");</pre>
<p>この例では、<code>greet</code> という名前の関数を定義し、後から <code>greet("田中")</code> のように呼び出しています。</p>
<p>書き方の流れは次のとおりです。</p>
<figure class="wp-block-table is-style-regular">
<div class="scrollable-table stfc-sticky"><table>
<thead>
<tr>
<th>要素</th>
<th>意味</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>function</code></td>
<td>関数を定義するという宣言</td>
</tr>
<tr>
<td><code>greet</code></td>
<td>関数名</td>
</tr>
<tr>
<td><code>(name)</code></td>
<td>引数</td>
</tr>
<tr>
<td><code>{ ... }</code></td>
<td>実行する処理</td>
</tr>
</tbody>
</table></div>
</figure>
<h2 class="wp-block-heading"><span id="toc4">3. 引数と戻り値を理解すると実用的になる</span></h2>
<p>関数は外から値を受け取り、その結果を返せます。これが引数と戻り値です。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">function getTaxIncludedPrice(price) {
  return price * 1.1;
}

const total = getTaxIncludedPrice(1000);
console.log(total); // 1100</pre>
<p><code>price</code> が引数、<code>price * 1.1</code> が戻り値です。こうしておくと、1000円でも2000円でも同じ関数を再利用できます。</p>
<p>初心者の方は、<strong>引数 = 入力、戻り値 = 出力</strong> と考えると整理しやすいです。</p>
<h2 class="wp-block-heading"><span id="toc5">4. 関数宣言と関数式の違い</span></h2>
<p>JavaScriptでは、関数は <code>function</code> で宣言する以外に、変数へ代入する形でも書けます。これを関数式といいます。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">const greet = function(name) {
  console.log("こんにちは、" + name + "さん");
};</pre>
<p>動作の考え方は似ていますが、書き方や呼び出せるタイミングに違いがあります。関数式の基本を知りたい方は、<a href="https://it-biz.online/web-design/function-expression/">関数式の記事</a>も合わせて読むと理解が深まります。</p>
<p>また、最近のJavaScriptではこの関数式を短く書ける<a href="https://it-biz.online/web-design/arrow-function/">アロー関数</a>もよく使われます。</p>
<h2 class="wp-block-heading"><span id="toc6">5. 関数の中で作った変数は外では使えない</span></h2>
<p>関数には独自のスコープがあります。つまり、関数の中で宣言した変数は、外からは参照できません。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">function sample() {
  const message = "関数の中だけ";
  console.log(message);
}

sample();
// console.log(message); // ReferenceError</pre>
<p>このルールを知っておくと、「なぜその変数が使えないのか」で悩みにくくなります。スコープをしっかり整理したい方は、<a href="https://it-biz.online/web-design/javascript-scope/">JavaScriptのスコープ解説</a>もおすすめです。</p>
<h2 class="wp-block-heading"><span id="toc7">6. よくあるつまずき</span></h2>
<h3 class="wp-block-heading"><span id="toc8">関数を定義しただけで実行されたと思い込む</span></h3>
<p>関数は定義しただけでは実行されません。最後に <code>()</code> を付けて呼び出して初めて動きます。</p>
<h3 class="wp-block-heading"><span id="toc9">return と console.log を同じものだと思ってしまう</span></h3>
<p><code>console.log</code> は表示するだけ、<code>return</code> は関数の結果を返すためのものです。ここを区別できると、関数の理解が一気に進みます。</p>
<h3 class="wp-block-heading"><span id="toc10">引数を受け取る関数に値を渡し忘れる</span></h3>
<p>関数に必要な引数を渡さないと、<code>undefined</code> になることがあります。エラーではなく動いてしまう分、初心者が見落としやすいポイントです。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="javascript">function greet(name) {
  console.log("こんにちは、" + name + "さん");
}

greet(); // こんにちは、undefinedさん</pre>
<h2><span id="toc11">補足：関数を実務で使うときの見方</span></h2>
<p>関数は、文法として覚えるだけでは少しもったいないです。実務では、関数を「処理を分けて、名前を付けて、あとから使いやすくするための部品」として使います。問い合わせフォーム、料金計算、入力チェック、画面の表示切り替えなど、同じような処理が何度も出てくる場面で特に役立ちます。</p>
<p>まずは、関数を入力から結果までの流れとして見てみます。関数が苦手な方は、<code>function</code> という単語よりも「引数・処理・戻り値」の3点に分けて考えると理解しやすくなります。</p>
<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-function-input-output-flow.png" alt="JavaScript関数の引数処理戻り値の流れを説明した図" /><figcaption>関数は、引数を受け取り、処理を行い、戻り値を返す部品として見ると整理しやすいです。</figcaption></figure>
<p>この図で見てほしいのは、関数の中に入るものと、関数から出てくるものです。引数は関数に渡す入力、戻り値は関数が呼び出し元へ返す結果です。たとえば税込価格を計算する関数なら、税抜価格が引数で、税込価格が戻り値になります。</p>
<pre><code>function addTax(price) {
  return Math.floor(price * 1.1);
}

const total = addTax(1000);
console.log(total); // 1100</code></pre>
<p>この例では、<code>1000</code> が引数として関数に入り、計算された <code>1100</code> が戻り値として返っています。戻り値があるからこそ、結果を <code>total</code> に入れて、次の処理で使えます。</p>
<p>初心者が特につまずきやすいのが、<code>return</code> と <code>console.log</code> の違いです。どちらも画面上では何かが表示されることがあるため、同じものだと思いやすいですが、役割はまったく違います。</p>
<figure class="wp-block-image size-large">
  <img decoding="async" src="https://it-biz.online/wp-content/uploads/2026/04/js-function-return-code-result.png" alt="JavaScriptのreturnとconsole.logの違いをコードと結果で示した図" /><figcaption>console.logは表示、returnは値を返す処理です。次の処理で使いたいならreturnが必要です。</figcaption></figure>
<p>この画像では、関数の中で <code>console.log(a + b)</code> を実行しているため、画面には <code>5</code> が表示されます。しかし、関数が <code>return</code> していないため、<code>result</code> には <code>undefined</code> が入ります。</p>
<p>実務でよくあるのは、デバッグ中に <code>console.log</code> で値が見えたため「関数が値を返している」と勘違いするケースです。画面に表示するだけなら <code>console.log</code> で十分ですが、その計算結果を別の関数へ渡したり、画面表示に使ったりするなら <code>return</code> が必要です。</p>
<p>もうひとつ大事なのは、関数名です。関数名はコメントの代わりにもなります。<code>calc</code> のような曖昧な名前より、<code>calculateTotalPrice</code> や <code>validateEmail</code> のように、何をする関数なのか分かる名前にすると、あとから読む人が理解しやすくなります。</p>
<p>関数を理解したら、次は <a href="https://it-biz.online/web-design/arrow-function/">アロー関数</a> や <a href="https://it-biz.online/web-design/callback-function/">コールバック関数</a> へ進むと自然です。どちらも関数の考え方を土台にしているため、引数と戻り値を押さえておくと一気に読みやすくなります。</p>
<h3><span id="toc12">関数に切り出すか迷ったときの判断</span></h3>
<p>初心者のうちは、どこまでを関数にすればよいか迷いやすいです。判断の目安は、「同じ処理が2回以上出てくるか」「処理に名前を付けると読みやすくなるか」です。同じ計算、同じチェック、同じ表示処理が何度も出てくるなら、関数に切り出す価値があります。</p>
<p>たとえば、メールアドレスの形式チェックを複数の画面で使うなら、毎回同じコードを書くより <code>validateEmail</code> のような関数にまとめたほうが安全です。あとでチェック条件を変えたいときも、修正箇所を1つにできます。</p>
<pre><code>function validateEmail(email) {
  return email.includes("@");
}

if (!validateEmail(inputValue)) {
  console.log("メールアドレスを確認してください");
}</code></pre>
<p>この例では、メールアドレスらしいかを確認する処理を関数にしています。実務ではもっと厳密なチェックが必要になることもありますが、「何を確認している処理なのか」が関数名で分かる点が大きなメリットです。</p>
<h3><span id="toc13">よくあるミスを防ぐコツ</span></h3>
<ul>
<li>関数を作っただけで満足せず、必要な場所で呼び出す</li>
<li>戻り値を使うなら、必ず <code>return</code> を書く</li>
<li>関数名は「何をするか」が分かる動詞から始める</li>
<li>1つの関数に、関係ない処理を詰め込みすぎない</li>
</ul>
<h3><span id="toc14">関数を小さく分けるメリット</span></h3>
<p>関数を小さく分けると、コード全体の流れが追いやすくなります。たとえば、会員登録画面の処理を考えると、入力値を取得する、メールアドレスをチェックする、パスワードをチェックする、エラーを表示する、送信する、という複数の役割があります。これを1つの大きな関数に全部入れると、どこで何をしているのか分かりにくくなります。</p>
<p>一方で、それぞれを関数に分けると、処理の名前を見るだけで流れを読めるようになります。<code>getFormValues</code>、<code>validateEmail</code>、<code>showErrorMessage</code> のように分けておけば、細かい中身を読む前に全体像をつかめます。</p>
<p>もちろん、何でも細かく分ければよいわけではありません。1回しか使わず、名前を付けても分かりやすくならない処理まで無理に関数化すると、逆に読みにくくなります。まずは「同じ処理が繰り返される」「名前を付けると意味が伝わる」「修正箇所をまとめたい」という場面から関数化するとよいです。</p>
<h3><span id="toc15">関数を書くときの順番</span></h3>
<p>関数を書くときは、いきなり文法から入るよりも、「何を受け取るか」「何を返すか」「関数名を何にするか」の順番で考えると整理しやすいです。たとえば税込価格を計算するなら、受け取るのは税抜価格、返すのは税込価格、関数名は <code>addTax</code> や <code>calculateTaxIncludedPrice</code> のようになります。</p>
<p>この順番で考えると、関数の中身も自然に決まります。引数が足りない、戻り値を返し忘れる、関数名と処理内容が合っていない、といったミスにも気づきやすくなります。</p>
<ul>
<li>まず、関数に渡す入力を決める</li>
<li>次に、呼び出し元へ返す結果を決める</li>
<li>最後に、処理内容が分かる名前を付ける</li>
</ul>
<p>関数は、JavaScriptだけでなく多くのプログラミング言語で使う基本です。ここで「入力、処理、戻り値」の感覚をつかんでおくと、アロー関数、コールバック関数、Promise、async/awaitを学ぶときにも土台になります。</p>
<p>関数は、コードを短くするためだけのものではありません。処理に名前を付け、あとから読み返しやすくし、修正しやすくするための整理方法でもあります。</p>
<p>実務では、関数を作ったあとに「この関数は何を知らなくてよいか」も考えます。たとえば、税込価格を計算する関数なら、画面のどこに表示するかまでは知らなくて構いません。計算は計算、表示は表示に分けると、修正時の影響範囲が小さくなります。</p>
<p>この分け方ができると、同じ関数を別の画面でも使いやすくなります。商品一覧、カート、注文確認画面で同じ計算を使う場合、計算処理を1つにまとめておけば、税率や丸め方を変えるときも修正漏れを防げます。</p>
<p>初心者のうちは、まず「関数名だけを読んで処理の目的が想像できるか」を確認してみてください。名前を見ても目的が分からない場合は、処理を詰め込みすぎているか、名前が曖昧な可能性があります。</p>
<p>関数は、プログラムの中に小さな見出しを作るようなものです。適切に分けられた関数は、コード全体を読みやすくし、ミスが起きたときに調べる場所を見つけやすくしてくれます。</p>
<p>また、関数を小さくしておくとテストもしやすくなります。入力に対して期待した戻り値が返るかを確認できるため、画面全体を動かさなくても一部の処理だけを検証できます。</p>
<h2 class="wp-block-heading"><span id="toc16">関連して学びたい記事</span></h2>
<ul class="wp-block-list">
<li><a href="https://it-biz.online/web-design/function-expression/">JavaScriptの関数式とは？</a></li>
<li><a href="https://it-biz.online/web-design/arrow-function/">JavaScriptのアロー関数とは？</a></li>
<li><a href="https://it-biz.online/web-design/javascript-scope/">JavaScriptのスコープとは？</a></li>
</ul>
<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>
<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span> <strong>JavaScriptの関数の基本</strong></p>
<ul class="wp-block-list">
<li>関数は処理をまとめて再利用するための仕組み</li>
<li>引数は入力、戻り値は出力</li>
<li><code>function</code> を使う書き方が基本</li>
<li>関数の中で宣言した変数は外から使えない</li>
<li>関数式やアロー関数もあわせて学ぶと理解が広がる</li>
</ul>
</div>
<p>JavaScriptの関数は、文法そのものよりも「何のために使うのか」が分かると覚えやすくなります。まずは短い関数を自分で書いて、引数と戻り値の流れに慣れていくのがおすすめです。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
