<?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>Wed, 07 May 2025 02:01:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</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】関数：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[関数とは特定のタスクを実行するためのコードのまとまりで、必要に応じて何度でも再利用できる部品のこと。関数を使用することで、コードの重複を避け、プログラムをより読みやすく、保守しやすいものにすることができます。 この記事で [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>関数とは特定のタスクを実行するためのコードのまとまりで、必要に応じて何度でも再利用できる<strong>部品</strong>のこと。関数を使用することで、コードの重複を避け、プログラムをより読みやすく、保守しやすいものにすることができます。</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2020/01/image-47.png" alt="JavaScript 関数" style="aspect-ratio:1.7020408163265306;width:519px;height:auto"/><figcaption class="wp-element-caption">図1：関数のイメージ</figcaption></figure>



<p>この記事では、<strong>①JavaScriptで関数を定義する方法</strong>、<strong>②関数に情報（引数）を渡す方法</strong>、<strong>③関数から結果（戻り値）を受け取る方法</strong>を、初心者でも理解しやすいように順を追って１から解説します。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<strong>JavaScriptの関数の基本</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="">// 2つの数値を受け取り、それらの和を返す関数
function add(a, b) {
    return a + b;
}

// 関数の使用例
let sum = add(5, 3);
console.log(sum); // 出力: 8</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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 class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>JavaScriptにおける「function（関数）」とは何か？</li>



<li>function（関数）の定義方法と呼び出し方</li>



<li>function（関数）とのパラメータのやり取りについて</li>



<li>関数のスコープについて―ローカル変数と外部変数</li>
</ul>
</div></div>



<p>Webエンジニア/Webデザイナーを目指す方であれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識の１つ</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-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">JavaScript：関数の基本</a><ol><li><a href="#toc2" tabindex="0">関数とは？</a></li></ol></li><li><a href="#toc3" tabindex="0">JavaScript：関数宣言（function）</a><ol><li><a href="#toc4" tabindex="0">パターン１：関数宣言（Function Declarations）</a></li><li><a href="#toc5" tabindex="0">パターン２：関数式（Function Expressions）</a></li></ol></li><li><a href="#toc6" tabindex="0">JavaScript：関数の呼び出し・実行</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><li><a href="#toc10" tabindex="0">パターン４：コールバック関数としての関数の呼び出し</a></li></ol></li><li><a href="#toc11" tabindex="0">JavaScript：関数を利用する際の注意点</a><ol><li><a href="#toc12" tabindex="0">1. スコープの理解</a></li><li><a href="#toc13" tabindex="0">2. 巻き上げ（Hoisting）</a></li><li><a href="#toc14" tabindex="0">3. 再帰関数の使用</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">JavaScript：関数の基本</span></h2>



<p>関数はプログラミングにおいて非常に重要な概念です。関数は特定のタスクを実行するコードの集まり（<strong>＝部品</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>はじめに関数の基本的な概念についておさらいしておきます。<strong><span class="marker-under">「関数」の基礎理解はある！という方はこの章は読み飛ばしてください。</span></strong></p>
</div></div>



<h3 class="wp-block-heading"><span id="toc2">関数とは？</span></h3>



<p><strong>関数とは一連の処理をまとめたコードのブロック（＝部品）</strong>です。関数を使うことで、同じコードを何度も書く必要がなくなり、コードの重複を避けることができます。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/function-abc/">プログラミングにおける「関数」とは？</a></p>



<p>例えば、１つの「メッセージを表示」させたり「ポップアップ」を表示させたり「日付を計算したり」という共通的な処理については、１つの機能の中で何度も登場します。このとき、毎回同じコードを都度記述していくのは大変です。そんなときに予め関数を定義しておいて、必要なタイミングでその関数を呼び出すような形にすることで、必要最低限のコード分量で開発が完了します。</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2020/01/image-47.png" alt="JavaScript 関数" style="aspect-ratio:1.7020408163265306;width:519px;height:auto"/><figcaption class="wp-element-caption">（再掲）：関数のイメージ</figcaption></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong>関数を利用するメリット</strong></p>



<ol class="wp-block-list is-style-numeric-list-enclosed has-list-style">
<li><strong>再利用性</strong>
<ul class="wp-block-list">
<li>一度定義した関数は、プログラムのどこからでも何度でも呼び出すことができる。</li>
</ul>
</li>



<li><strong>構造化</strong>
<ul class="wp-block-list">
<li>関数を使用することで、コードを小さな単位に分割し、プログラムの構造を明確にすることができる。</li>
</ul>
</li>



<li><strong>保守性の向上</strong>
<ul class="wp-block-list">
<li>プログラムを関数に分割することで、特定の機能を修正する際に影響を受ける範囲を限定し、保守性を向上させることができます。</li>
</ul>
</li>
</ol>



<p>関数はJavaScriptプログラミングの基礎を形成し、効率的で読みやすいコードを書くために必要不可欠。ここからは本編、関数の定義方法について詳しくご説明します。。</p>



<h2 class="wp-block-heading"><span id="toc3">JavaScript：関数宣言（function）</span></h2>



<p>JavaScriptにおける関数の定義方法は主に2つあります。<br>→<strong>①関数宣言（Function Declarations）</strong>と<strong>②関数式（Function Expressions）</strong>。</p>



<p>この章では、これらの定義方法をそれぞれサンプルコード付きで解説します。関数の呼び出し方も紹介します。</p>



<h3 class="wp-block-heading"><span id="toc4">パターン１：関数宣言（Function Declarations）</span></h3>



<p>この方法はJavaScriptにおける最も基本的な関数の定義方法です。この方法で関数を定義すると、<strong>関数名</strong>を指定してコードブロックをグループ化→その関数名を使っていつでもそのコードブロックを実行できるようになります。関数宣言は<code><span class="bold-blue">function</span></code>キーワードで始まり、以下の要素で構成されます。</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="">function functionName(parameters) {
    // 関数の本体
    // ここに実行するコードを記述します
}</pre>



<ol class="wp-block-list is-style-numeric-list-enclosed has-list-style">
<li><strong><code><span class="bold-blue">function</span></code></strong>
<ul class="wp-block-list">
<li>このキーワードは、JavaScriptにおいて関数を定義する際に使用。<br>→関数を定義しますよ！という意味だと理解すればOK。</li>
</ul>
</li>



<li><strong><code><span class="bold-blue">functionName</span></code></strong>
<ul class="wp-block-list">
<li><strong>関数名</strong>。この名前を使って後から関数を呼び出せます。（呼び出し方は後述）</li>
</ul>
</li>



<li><strong><code><span class="bold-blue">parameters</span></code></strong>
<ul class="wp-block-list">
<li>関数に渡される引数のリスト。引数はコンマ(,)で区切られます。関数に引数が必要ない場合は、このカッコは空にする。</li>
</ul>
</li>



<li><strong><span class="bold-green">関数の本体</span></strong>
<ul class="wp-block-list">
<li>中括弧<code>{}</code>で囲まれた部分。この中には、関数が呼び出されたときに実行されるコードが含まれます。</li>
</ul>
</li>
</ol>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">// 2つの数値を受け取り、その和を返す関数
function add(a, b) {
    return a + b;
}

// 関数の呼び出し
const sum = add(5, 7);
console.log(sum); // 出力: 12</pre>



<p>↑の例では、<code><span class="bold-blue">add</span></code>という関数が定義されています。この関数は2つの<strong>引数</strong><code>a</code>と<code>b</code>を受け取りその和を返します。関数を呼び出すときは、関数名<code>add</code>の後にカッコを付けその中に引数<code>5</code>と<code>7</code>を渡します。そして、この関数は2つの引数の和<code>12</code>を返し、それが変数<code>sum</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<h4 class="wp-block-heading">引数（Parameters）</h4>



<p>引数（またはパラメータ）は<strong><span class="marker-under">関数に渡される情報</span></strong>であり、関数がその操作を行うために必要なデータです。引数は関数の定義部分にリストされ、関数が呼び出される際に実際の値（引数値またはアーギュメント）として渡されます。</p>



<ul class="wp-block-list">
<li><strong>定義時の引数（パラメータ）</strong>：関数定義においてカッコ<code>()</code>内に指定される変数。これにより、関数は外部からのデータを受け取ることができる。</li>



<li><strong>呼び出し時の引数（アーギュメント）</strong>：関数が実行される際に関数に渡される具体的な値。</li>
</ul>



<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="">function sample() {
    //処理
    return 式
}</pre>



<h4 class="wp-block-heading">戻り値（Return Value）</h4>



<p>戻り値は、<strong><span class="marker-under">関数がその処理を完了した後に「返す」データ</span></strong>です。<code>return</code>文を使用して関数から値を返すことができます。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="595" height="315" src="https://it-biz.online/wp-content/uploads/2024/02/image-13.png" alt="関数の引数と戻り値" class="wp-image-8883" style="width:595px;height:auto" srcset="https://it-biz.online/wp-content/uploads/2024/02/image-13.png 595w, https://it-biz.online/wp-content/uploads/2024/02/image-13-500x265.png 500w, https://it-biz.online/wp-content/uploads/2024/02/image-13-300x159.png 300w" sizes="(max-width: 595px) 100vw, 595px" /><figcaption class="wp-element-caption">図2：関数の引数と戻り値</figcaption></figure>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">// 引数として2つの数値を受け取り、その和を戻り値として返す関数
function add(a, b) {
    return a + b;
}

// 関数を呼び出し、引数に5と7を渡す
const sum = add(5, 7);

// 戻り値をコンソールに出力
console.log(sum); // 出力: 12</pre>



<p>↑の例では、<code>add</code>関数は2つの引数<code>a</code>と<code>b</code>を受け取りその和を計算して戻り値として返します。この関数を呼び出す際に<code>5</code>と<code>7</code>を引数として渡すと、関数はこれらの値の和<code>12</code>を返します。この戻り値は変数<code>sum</code>に格納され、コンソールに出力されています。</p>



<h3 class="wp-block-heading"><span id="toc5">パターン２：関数式（Function Expressions）</span></h3>



<p>関数式はJavaScriptにおける便利な機能の１つで、<strong>関数を変数に割り当てる</strong>ことができる表現方法です。関数式を使用すると、<strong>無名関数（匿名関数）</strong>を作成することが可能となり、これにより即時実行関数や高階関数（他の関数を引数として受け取る関数や関数を戻り値として返す関数）などの高度なプログラミングパターンを実装することができます。</p>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<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="">const myFunction = function(parameters) {
    // 関数の本体
};</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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><span class="bold-blue">myFunction</span></code>は関数を参照する変数名。<code><span class="bold-blue">function</span></code>キーワードの後ろに続くのは関数のパラメータと本体です。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">// 関数式を使用して関数を定義
const greet = function(name) {
    console.log(`こんにちは、${name}さん!`);
};

// 関数を呼び出す
greet('太郎'); // 出力: こんにちは、太郎さん!</pre>



<p>↑の例では、<code>greet</code>変数に関数式を割り当て。関数は<code>name</code>という引数を受け取り、挨拶のメッセージをコンソールに出力しています。</p>



<h4 class="wp-block-heading">無名関数<strong>（匿名関数）</strong></h4>



<p><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="">// 名前付き関数式
const myNamedFunction = function namedFunction() {
    console.log('名前付き関数式');
};

// 無名関数式
const myAnonymousFunction = function() {
    console.log('無名関数式');
};</pre>



<ol class="wp-block-list is-style-numeric-list-enclosed has-list-style">
<li>通常の関数式（名前付き関数式）</li>



<li>無名関数（匿名関数式）</li>
</ol>



<p>この２つの違いは関数に名前が付けられているか否か。以下では、それぞれの構文の違いと使い分けを解説します。</p>



<p class="has-text-align-center is-style-border-left-box has-box-style"><span class="badge-green">ポイント１</span>　<strong>通常の関数式（名前付き関数式）</strong></p>



<p>通常の関数式では関数に名前を付けます。これにより、関数内部から自身を参照することが可能になり、再帰呼び出しやデバッグが容易になります。名前付き関数式の構文は以下の通りです。</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="">const myFunction = function functionName(parameters) {
    // 関数の本体
};</pre>



<p><strong><code><span class="bold-red">functionName</span></code></strong>：関数の名前。この名前を使用して関数自身を関数の本体内部で参照することができるようになります。</p>



<p class="has-text-align-center is-style-border-left-box has-box-style"><span class="badge-green">ポイント２</span>　<strong>無名関数（匿名関数式）</strong></p>



<p>無名関数では、関数に名前を付けません。これは一度きりの使用や、即時実行関数、コールバック関数などに便利です。無名関数式の構文は以下の通りです。</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="">const myFunction = function(parameters) {
    // 関数の本体
};</pre>



<p>↑の形式では関数は名前を持たず直接変数に割り当てられます。この関数を呼び出すには、変数名（この例では<code>myFunction</code>）を使用します。</p>



<h2 class="wp-block-heading"><span id="toc6">JavaScript：関数の呼び出し・実行</span></h2>



<p>ここからは定義した関数を呼び出す方法・実行する方法をいくつかのサンプルコード付きでご説明していきます。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン１：基本的な関数の呼び出し</span></h3>



<p>関数を呼び出す基本的な方法は、関数名の後に<strong><span class="marker-under">カッコ<code>()</code></span></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="">// 関数の定義
function sayHello(name) {
    console.log(`こんにちは、${name}さん!`);
}

// 関数の呼び出し
sayHello('太郎');</pre>



<p>この例では、<code>sayHello</code>関数が定義されており、<code><span class="bold-blue">'太郎'</span></code>という引数を渡して呼び出されています。結果として、<code><span class="bold-blue">こんにちは、太郎さん!</span></code>というメッセージがコンソールに出力されます。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン２：引数を複数持つ関数の呼び出し</span></h3>



<p>関数は複数の引数を受け取ることができます。関数を呼び出す際には、それらの引数をカンマで区切って渡します。</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="">// 関数の定義
function add(a, b) {
    return a + b;
}

// 関数の呼び出し
const sum = add(5, 3);
console.log(sum); // 出力: 8</pre>



<p>この例では、2つの数値を引数として受け取り、それらの和を返す<code>add</code>関数を呼び出しています。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン３：関数を変数に割り当ててから呼び出す</span></h3>



<p>関数式を使用して関数を変数に割り当て、その変数を通じて関数を呼び出すことができます。</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="">const multiply = function(x, y) {
    return x * y;
};

const product = multiply(4, 5);
console.log(product); // 出力: 20</pre>



<p>この例では、<code>multiply</code>変数に割り当てられた関数を使用して、2つの数値の積を計算しています。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン４：コールバック関数としての関数の呼び出し</span></h3>



<p>関数を別の関数の引数として渡し、その関数内で呼び出すことができます。これは、非同期処理やイベント処理などで一般的に使用されます。</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="">function processUserInput(callback) {
    const name = prompt('名前を入力してください:');
    callback(name);
}

processUserInput(sayHello);</pre>



<p>この例では、<code>processUserInput</code>関数に<code>sayHello</code>関数をコールバックとして渡し、ユーザーからの入力に基づいて<code>sayHello</code>関数を呼び出しています。</p>



<h2 class="wp-block-heading"><span id="toc11">JavaScript：関数を利用する際の注意点</span></h2>



<p>JavaScriptで関数を利用する際には、いくつかの重要な注意点があります。これらを理解し、適切に対処することで、より効率的かつエラーの少ないコーディングが可能になります。</p>



<h3 class="wp-block-heading"><span id="toc12">1. スコープの理解</span></h3>



<p>JavaScriptでは、関数はそれ自身のスコープを持ちます。これは、関数内で宣言された変数は関数の外部からはアクセスできないことを意味します。しかし、関数内からは外部スコープの変数にアクセスすることができます。</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="">let globalVar = "外部変数";

function testScope() {
    let localVar = "内部変数";
    console.log(globalVar); // アクセス可能
}

testScope();
console.log(localVar); // ReferenceError: localVar is not defined</pre>



<h3 class="wp-block-heading"><span id="toc13">2. 巻き上げ（Hoisting）</span></h3>



<p>JavaScriptでは、関数宣言と変数宣言は巻き上げられます。つまり、コードの実行前に関数と変数がそのスコープの先頭に移動するような振る舞いをします。ただし、関数式は巻き上げの対象ではないため、宣言前に関数式を呼び出そうとするとエラーになります。</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="">console.log(declaredLater); // undefined（巻き上げによりundefinedが返される）
var declaredLater = "宣言後に定義される変数";

declaredFunction(); // 正常に実行される

function declaredFunction() {
    console.log("関数宣言は巻き上げられる");
}

undeclaredFunction(); // TypeError: undeclaredFunction is not a function

var undeclaredFunction = function() {
    console.log("関数式は巻き上げられない");
};</pre>



<h3 class="wp-block-heading"><span id="toc14">3. 再帰関数の使用</span></h3>



<p>再帰関数は自分自身を呼び出す関数です。無限ループに陥らないように終了条件を正しく設定することが重要です。</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="">function countDown(number) {
    if (number &lt;= 0) {
        console.log("完了");
        return;
    }
    console.log(number);
    countDown(number - 1);
}

countDown(3);</pre>



<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>



<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="">// 関数宣言
function greet(name) {
    console.log(`こんにちは、${name}さん!`);
}

// 関数式（無名関数を使用）
const sayGoodbye = function(name) {
    console.log(`さようなら、${name}さん!`);
};


// 関数の呼び出し
greet('太郎');
sayGoodbye('花子');
console.log(add(5, 3));</pre>



<ul class="wp-block-list">
<li><strong>関数宣言</strong>：<code>function</code>キーワードを使って関数を宣言し、名前を付けて定義します。</li>



<li><strong>関数式</strong>：無名関数を変数に割り当てる方法で、関数を定義します。これにより、関数を値として扱うことができます。</li>



<li><strong>関数の呼び出し</strong>：定義した関数を実行するには、関数名の後にカッコを付けて引数を渡します（必要な場合）。</li>
</ul>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】イベントリスナーとは？３分でわかりやすく解説</title>
		<link>https://it-biz.online/web-design/event-listner/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Mon, 05 Feb 2024 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=8867</guid>

					<description><![CDATA[Webページ上のユーザーアクション（クリックやキーワード操作）をキャッチしそれに反応して特定の動作を実行する仕組みがイベントリスナーです。わかりやすく言えば、Webページがユーザーの行動やブラウザの変化に耳を傾け、その変 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Webページ上のユーザーアクション（クリックやキーワード操作）をキャッチし<strong>それに反応して特定の動作を実行する仕組み</strong>が<strong><span class="marker-under">イベントリスナー</span></strong>です。わかりやすく言えば、Webページがユーザーの行動やブラウザの変化に耳を傾け、その変化に応じて指定された反応をする仕組みのようなもの。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<p>イベントリスナーを適切に利用することにより、Webサイトやアプリケーションに対してインタラクティブな体験を提供することが可能になります。この記事では、イベントリスナーの基本から、具体的な使用方法・コーディング方法まで、初心者でも理解しやすいように段階的に解説していきます。</p>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="tab-caption-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>イベントリスナーの基本</li>



<li>イベントリスナーの追加方法：<code><strong>addEventListener</strong></code>メソッド
<ul class="wp-block-list">
<li>クリックイベントのリスナーを追加</li>
</ul>
</li>



<li>イベントリスナーの削除</li>
</ul>
</div>
</div></div>



<p>Webエンジニア/Webデザイナーを目指す方であれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識の１つ</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">イベントリスナーとは？</a><ol><li><a href="#toc3" tabindex="0">イベントリスナーの仕組み</a></li><li><a href="#toc4" tabindex="0">イベントリスナーの使用例</a></li></ol></li><li><a href="#toc5" tabindex="0">イベントリスナーの追加：addEventListener</a></li><li><a href="#toc6" tabindex="0">イベントリスナーの削除：removeEventListener</a><ol><li><a href="#toc7" tabindex="0">イベントリスナーの削除：具体例</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">イベントとは？</span></h2>



<p>イベントとはユーザーがマウスやブラウザから<strong>特定のアクションを行うこと</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<figure class="wp-block-table aligncenter"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>イベントの種類</th><th>イベント名</th><th>説明</th></tr></thead><tbody><tr><td>ユーザーイベント</td><td>クリックイベント</td><td>ユーザーがマウスでページ上の要素をクリックしたとき。</td></tr><tr><td>ユーザーイベント</td><td>キーボードイベント</td><td>ユーザーがキーボードのキーを押下または解放したとき。</td></tr><tr><td>ユーザーイベント</td><td>フォームイベント</td><td>フォームが送信されたり、入力フィールドの値が変更されたりしたとき。</td></tr><tr><td>ブラウザイベント</td><td>ロードイベント</td><td>ページや画像が完全に読み込まれたとき。</td></tr><tr><td>ブラウザイベント</td><td>リサイズイベント</td><td>ウィンドウのサイズが変更されたとき。</td></tr><tr><td>ブラウザイベント</td><td>スクロールイベント</td><td>ユーザーがページをスクロールしたとき。</td></tr></tbody></table></div></figure>



<p>これらのイベントは、Webページ上で発生する様々なユーザー行動やブラウザ状態の変化を表します。JavaScriptを使ってこれらのイベントを検出し、適切な応答をプログラムすることで、Webページをよりインタラクティブでユーザーフレンドリーなものにすることが可能です。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>ザックリいえば、JavaScriptではユーザが起こしたアクションによって、様々な処理ができる！ということ。「〇〇をクリックしたら、表示を△△に変える」というようなことです。</p>



<p>このクリックなどの操作を「<strong>イベント</strong>」と呼ぶということをおさえておければOKです。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">イベントリスナーとは？</span></h2>



<p>イベントリスナーとは、<strong><span class="marker-under">特定のイベントが発生したときに実行される関数や処理のこと・その仕組み</span></strong>を指します。経てばユーザが「クリック」したら、入力チェックを行う・・・というような仕組みのこと。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="673" height="341" src="https://it-biz.online/wp-content/uploads/2024/02/image-8.png" alt="イベントリスナーとは" class="wp-image-8872" srcset="https://it-biz.online/wp-content/uploads/2024/02/image-8.png 673w, https://it-biz.online/wp-content/uploads/2024/02/image-8-500x253.png 500w, https://it-biz.online/wp-content/uploads/2024/02/image-8-300x152.png 300w" sizes="(max-width: 673px) 100vw, 673px" /><figcaption class="wp-element-caption">図1：イベントリスナーとは</figcaption></figure>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/function/">JavaScriptの関数</a></p>



<p>イベントリスナーはWebページ上の動的なインタラクションを可能にする概念の１つで、ユーザーがページ上で行う様々なアクション（例えば、クリックやキーボードの入力など）を捉え、それに応じた特定の反応をプログラムすることができます。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>「ユーザがクリックしたら、関数〇〇を実行する」というような処理があるとすると、<strong>ユーザーがクリックするかどうかを見張っているのがイベントリスナー</strong>と言えます。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc3">イベントリスナーの仕組み</span></h3>



<p>イベントリスナーは、以下のような手順で機能します。詳しい仕組み後ほど解説するので、ここではイベントリスナーという仕組みの動作原理についての概要を押さえておきましょう。</p>



<ol class="wp-block-list is-style-numeric-list-enclosed has-list-style">
<li><strong>イベントリスナーの登録</strong>
<ul class="wp-block-list">
<li>まずは、特定のイベントに反応するようにイベントリスナーを登録します。これは、対象となる要素に対して、監視したいイベントタイプと、そのイベントが発生したときに呼び出されるコールバック関数を指定します。</li>
</ul>
</li>



<li><strong>イベントの監視</strong>
<ul class="wp-block-list">
<li>イベントリスナーが登録されると、ブラウザは指定されたタイプのイベントがその要素で発生するのを監視し始めます。</li>
</ul>
</li>



<li><strong>イベントの発生と処理の実行</strong>
<ul class="wp-block-list">
<li>対象のイベントが発生すると、ブラウザは事前に登録されたコールバック関数を呼び出し、プログラムされた処理を実行します。</li>
</ul>
</li>
</ol>



<h3 class="wp-block-heading"><span id="toc4">イベントリスナーの使用例</span></h3>



<p>JavaScriptでは、<strong><span class="marker-under"><code>addEventListener</code>メソッド</span></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.getElementById('myButton').addEventListener('click', function() {
    alert('ボタンがクリックされました！');
});</pre>



<p>↑のコードは、<a href="https://it-biz.online/web-design/id-class/">ID</a>：<code>myButton</code>の要素に対して<strong>クリックイベントリスナ</strong>ーを追加しています。ボタンがクリックされると、アラートが表示されるというシンプルな処理を行っています。</p>



<p>このように、ユーザの何か特定の処理を「イベント」として検知し、そのイベントに対応する処理を記述することで様々な動的な画面制御を行うことができるようになるのが、このイベントリスナーという仕組み・概念です。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<h2 class="wp-block-heading"><span id="toc5">イベントリスナーの追加：addEventListener</span></h2>



<p>イベントリスナーを追加するためのメソッドは<code><strong><span class="marker-under">addEventListener</span></strong></code>です。このメソッドを使用することで、特定の要素にイベントを監視するリスナーを登録できます。</p>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong><code>addEventListener</code>メソッドの構文</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="">element.addEventListener(event, function, useCapture);</pre>



<ol class="wp-block-list is-style-numeric-list-enclosed has-list-style">
<li class="is-style-bottom-margin-2em has-bottom-margin"><strong>element</strong>: イベントリスナーを追加したい<a href="https://it-biz.online/web-design/dom/">DOM要素</a></li>



<li class="is-style-bottom-margin-2em has-bottom-margin"><strong>event</strong>: 監視するイベントの名前（例: <code>'click'</code>, <code>'mouseover'</code>）</li>



<li class="is-style-bottom-margin-2em has-bottom-margin"><strong>function</strong>: イベントが発生したときに実行されるコールバック関数</li>



<li><strong>useCapture</strong> (オプション): イベントキャプチャを使用するかどうかのブール値。デフォルトは<code>false</code>で、イベントバブリングのフェーズでリスナーが動作</li>
</ol>



<p>さっそく具体的に１からイベントリスナーを登録する方法を見ていきましょう。</p>



<p><span class="badge-green">ステップ1</span>　<strong>対象となる要素を選択する</strong></p>



<p>まず、イベントリスナーを追加したい<a href="https://it-biz.online/web-design/html-basic/">HTML要素</a>をJavaScriptを使って選択します。例えば、IDが<code>myButton</code>のボタン要素を選択するには、次のようにします。</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="">var button = document.getElementById('myButton');</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/var-let/">JavaScript変数：var</a></p>



<p><span class="badge-green">ステップ2</span>　<strong><code>addEventListener</code>メソッドを使用してイベントリスナーを追加する</strong></p>



<p>次に、<code>addEventListener</code>メソッドを使用して選択した要素にイベントリスナーを追加します。例えば、ボタンがクリックされたときにアラートを表示するには、次のように記述します。</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="">button.addEventListener('click', function() {
    alert('ボタンがクリックされました！');
});</pre>



<p>↑のコードは、<code>myButton</code>IDを持つボタンがクリックされたときに、アラートを表示するイベントリスナーを追加します。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box comment-box">
<p>以下のコードをHTMLファイルに保存して実行してみましょう。イベントとイベントリスナーの動きがより視覚的に理解できると思います。</p>



<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;meta charset="UTF-8">
  &lt;title>クリックイベントデモ&lt;/title>
  &lt;style>
    #myButton {
      padding: 12px 24px;
      font-size: 16px;
      border: 2px solid #333;
      border-radius: 8px;
      cursor: pointer;
      background-color: #f0f0f0;
    }

    #myButton:hover {
      background-color: #d0e6ff;
    }
  &lt;/style>
&lt;/head>
&lt;body>

  &lt;h2>ボタンをクリックしてください&lt;/h2>
  &lt;button id="myButton">クリック&lt;/button>

  &lt;script>
    var button = document.getElementById('myButton');
    button.addEventListener('click', function() {
      alert('ボタンがクリックされました！');
    });
  &lt;/script>

&lt;/body>
&lt;/html>
</pre>



<figure class="wp-block-image size-large"><img decoding="async" width="800" height="170" src="https://it-biz.online/wp-content/uploads/2024/02/image-23-800x170.png" alt="" class="wp-image-10377" srcset="https://it-biz.online/wp-content/uploads/2024/02/image-23-800x170.png 800w, https://it-biz.online/wp-content/uploads/2024/02/image-23-500x107.png 500w, https://it-biz.online/wp-content/uploads/2024/02/image-23-300x64.png 300w, https://it-biz.online/wp-content/uploads/2024/02/image-23-768x164.png 768w, https://it-biz.online/wp-content/uploads/2024/02/image-23-1536x327.png 1536w, https://it-biz.online/wp-content/uploads/2024/02/image-23.png 1905w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</div>



<p class="has-text-align-left"><span class="badge-blue">サンプルコード</span>　<strong>マウスオーバーイベントの追加</strong></p>



<p>マウスが特定の要素の上に移動したときに反応するイベントリスナーを追加する例を見てみましょう。</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="">var myElement = document.getElementById('myElement');

myElement.addEventListener('mouseover', function() {
    myElement.style.backgroundColor = 'yellow';
});</pre>



<p>↑のコードは、IDが<code>myElement</code>の要素にマウスが乗ると、その要素の背景色を黄色に変更します。</p>



<p class="has-text-align-left"><span class="badge-blue">サンプルコード</span>　<strong>フォーム送信イベントの追加</strong></p>



<p><a href="https://it-biz.online/web-design/form/">フォーム</a>が送信されたときにカスタム処理を実行するイベントリスナーを追加する例です。</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="">var myForm = document.getElementById('myForm');

myForm.addEventListener('submit', function(event) {
    event.preventDefault(); // デフォルトのフォーム送信を防止
    alert('フォームが送信されました！');
});</pre>



<p>↑の例では、フォーム送信イベントが発生した際に、ブラウザによるデフォルトの送信処理を<code>preventDefault</code>メソッドでキャンセルし、代わりにアラートを表示しています。</p>



<p><code>addEventListener</code>メソッドを使用することで、様々なイベントに対して柔軟に対応することができます。イベントリスナーの追加は、Webページをよりインタラクティブでユーザーフレンドリーにする上で重要な役割を果たします。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<h2 class="wp-block-heading"><span id="toc6">イベントリスナーの削除：removeEventListener</span></h2>



<p>イベントリスナーの追加と同様に重要なのが<strong>不要になったイベントリスナーを削除すること</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>特に大規模で複雑なWebアプリケーションを開発する際にはこの点も重要となるのでこの章で詳しく解説しておきます。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong><code>removeEventListener</code>メソッド</strong></p>



<p>イベントリスナーを削除するためには、<code>removeEventListener</code>メソッドを使用します。このメソッドの構文は<code>addEventListener</code>に似ていますが、イベントを削除するだけです。</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="">element.removeEventListener(event, function, useCapture);</pre>



<ol class="wp-block-list">
<li><strong>element</strong>: イベントリスナーを削除したいDOM要素</li>



<li><strong>event</strong>: 削除したいイベントの名前</li>



<li><strong>function</strong>: 削除したいイベントリスナーに紐づけられている関数</li>



<li><strong>useCapture</strong>: イベントリスナーがキャプチャフェーズで登録されているか、バブリングフェーズで登録されているかを示すブール値。<code>addEventListener</code>と同じ値を指定する必要があります。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc7">イベントリスナーの削除：具体例</span></h3>



<p>イベントリスナーを削除する際には、<code>addEventListener</code>で指定したのと同じ関数を<code>removeEventListener</code>に渡す必要があります。これは、無名関数を直接<code>addEventListener</code>に渡す代わりに、関数を変数に割り当てておくとよいでしょう。</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="">var button = document.getElementById('myButton');
var handleClick = function() {
    alert('ボタンがクリックされました！');
};

// イベントリスナーを追加
button.addEventListener('click', handleClick);

// イベントリスナーを削除
button.removeEventListener('click', handleClick);</pre>



<p>↑の例では、<code>handleClick</code>関数がクリックイベントのコールバックとして使用されています。イベントリスナーを削除する際も、同じ<code>handleClick</code>関数を<code>removeEventListener</code>メソッドに渡しています。これにより、正確に特定のイベントリスナーを削除することができます。</p>



<p>イベントリスナーの追加だけでなく、適切なタイミングでの削除もWebアプリケーションの効率的な動作には不可欠です。<code>addEventListener</code>と<code>removeEventListener</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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 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><strong>イベントリスナーとは</strong>
<ul class="wp-block-list">
<li class="is-style-bottom-margin-0em has-bottom-margin">特定のイベント（ユーザーアクションやブラウザの動作など）が発生した際に実行される関数やプロセスのこと。</li>



<li class="is-style-bottom-margin-1em has-bottom-margin">イベントリスナーを使用することで、Webページ上でのインタラクティブなユーザー体験を作り出すことが可能になる。</li>
</ul>
</li>



<li><strong><code>addEventListener</code>メソッド</strong>
<ul class="wp-block-list">
<li>DOM要素にイベントリスナーを追加し、特定のイベントに対して反応する処理を記述できる。</li>



<li class="is-style-bottom-margin-1em has-bottom-margin">イベントリスナーは、クリックやマウスオーバー、キーボード入力、フォームの送信など、さまざまなイベントに対応可能。</li>
</ul>
</li>



<li>不要になったイベントリスナーは、<strong><code>removeEventListener</code>メソッド</strong>を使用して削除する。</li>
</ul>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Javascript：クラスとは何か？を３分で【初心者向け】</title>
		<link>https://it-biz.online/web-design/js-class/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Wed, 06 Mar 2024 02:07: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=8940</guid>

					<description><![CDATA[クラスとは、オブジェクト指向プログラミング（OOP）の中心的な概念で、属性（プロパティ）と動作（メソッド）を１つにまとめた設計図のようなものです。クラスを使用することで、コードの再利用性が高まり、管理や保守が容易に。クラ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>クラスとは、オブジェクト指向プログラミング（OOP）の中心的な概念で、<strong><span class="marker-under">属性（プロパティ）と動作（メソッド）を１つにまとめた設計図のようなもの</span></strong>です。クラスを使用することで、コードの再利用性が高まり、管理や保守が容易に。クラスは具体的なオブジェクト（インスタンス）を生成するための「型」として機能します。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="552" height="184" src="https://it-biz.online/wp-content/uploads/2024/03/image-6.png" alt="Javascript クラス" class="wp-image-8943" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-6.png 552w, https://it-biz.online/wp-content/uploads/2024/03/image-6-500x167.png 500w, https://it-biz.online/wp-content/uploads/2024/03/image-6-300x100.png 300w" sizes="(max-width: 552px) 100vw, 552px" /><figcaption class="wp-element-caption">図1：クラスの概念</figcaption></figure>



<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 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>以下のJavaScriptコードは、<code>Car</code>というクラスを定義し、それを使用して具体的な車オブジェクトを作成する例です。</p>
</div></div>



<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="">class Car {
  constructor(brand, model) {
    this.brand = brand;
    this.model = model;
  }

  displayInfo() {
    console.log(`This car is a ${this.brand} model ${this.model}.`);
  }
}

// Carクラスのインスタンスを生成
const myCar = new Car('Toyota', 'Corolla');
myCar.displayInfo(); // 出力: This car is a Toyota model Corolla.</pre>



<p>このページでは↑のサンプルコードの意味・内容を初心者でも理解できるように、Javascriptにおけるクラスの基本を１からわかりやすくご説明します。Webエンジニア/Webデザイナーを目指す方であれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識の１つ</span></strong>です。是非最後までご覧ください。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/js-rule/">【JavaScript入門】基本文法/基礎文法を5分で</a></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">Javascript：クラスとは？</a></li><li><a href="#toc2" tabindex="0">Javascript：class</a><ol><li><a href="#toc3" tabindex="0">コンストラクタ（constructor）</a></li><li><a href="#toc4" tabindex="0">インスタンスの作成</a></li></ol></li><li><a href="#toc5" tabindex="0">継承（extends）</a><ol><li><a href="#toc6" tabindex="0">super</a></li></ol></li><li><a href="#toc7" tabindex="0">カプセル化</a><ol><li><a href="#toc8" tabindex="0">JavaScriptにおけるカプセル化の実現方法</a></li></ol></li><li><a href="#toc9" tabindex="0">ポリモーフィズム</a><ol><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></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Javascript：クラスとは？</span></h2>



<p>クラスとはオブジェクトを作成するための「<strong>設計書</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 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>



<p>まず、クラスとは何かを理解するために、車を作る工程を思い浮かべてみてください。あなたは自動車メーカーに勤めていて、新型の車を作りたいと思ったとしましょう。その際、最初に行う工程が「<strong>設計図</strong>を作成すること」になるはずです。いきなり車の部品を作り始めるのではなく、車の「形」や「サイズ」「色」や「部品の構成」に加えて、アクセルやブレーキなど、どのような機能を持つべきかを定義する必要があるでしょう。</p>



<p>自動車メーカーは車を1台だけ作ればよいわけではなく、100台～10000台と製造する必要があるので、設計図を作成することは重要な作業になります。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>結論を言うと「<strong>クラスとは、この設計図のようなもの</strong>」です。</p>



<p>どのようなデータ（<strong>属性</strong>）を持ち、どのような動作（<strong>メソッド</strong>）をするべきかを定義するのが、クラスを定義するということになります。</p>
</div></div>



<p>車の設計図の例で言えば、データ（<strong>属性</strong>）とは「車の色」「車種」「製造年」などがそれに該当します。動作（<strong>メソッド</strong>）とは「アクセルを踏む」、「ブレーキを踏む」、「ハンドルを切る」などを指します。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="682" height="355" src="https://it-biz.online/wp-content/uploads/2023/06/image-22.png" alt="Javascript クラスとは" class="wp-image-7813" srcset="https://it-biz.online/wp-content/uploads/2023/06/image-22.png 682w, https://it-biz.online/wp-content/uploads/2023/06/image-22-300x156.png 300w, https://it-biz.online/wp-content/uploads/2023/06/image-22-500x260.png 500w" sizes="(max-width: 682px) 100vw, 682px" /><figcaption class="wp-element-caption">図2：クラスとは？</figcaption></figure>



<p>車の設計図の例で言えば、データ（<strong>属性</strong>）とは「車の色」「車種」「製造年」などがそれに該当します。動作（<strong>メソッド</strong>）とは「アクセルを踏む」、「ブレーキを踏む」、「ハンドルを切る」などを指します。</p>



<p>ひとまず、ここでは何となく「クラスってそういうものなんだな」とイメージできればOKです。で、早速Javascriptでクラスを定義する方法を見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">Javascript：class</span></h2>



<p>Javascriptでクラスを定義するには<strong><span class="marker-under"><code>class</code>キーワード</span></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="">class FirstClass {
  constructor() {
    // コンストラクタメソッド: 新しいインスタンスを作成する際に実行されます。
    // インスタンス固有の初期化処理をここで行います。
  }

  method1() {
    // メソッド1の定義: クラスのインスタンスが利用できる機能を提供します。
  }

  method2() {
    // メソッド2の定義: 別の機能を提供します。
  }
}</pre>



<p>この例では、<code><span class="bold-blue">FirstClass</span></code>という名前のクラスを定義しています。このクラスには以下のような基本的な構成要素を含みます。</p>



<ol class="wp-block-list">
<li class="is-style-bottom-margin-2em has-bottom-margin"><strong>constructor()メソッド:</strong> クラスから新しいオブジェクトが作成されるたびに自動的に実行される特別なメソッド。このメソッド内で、そのインスタンスの初期状態を設定するためのコード（例えば、プロパティの初期値を設定するなど）を書きます。</li>



<li><strong>メソッドの定義:</strong> <code>method1()</code>や<code>method2()</code>のように、クラス内にメソッドを定義することができます。これらのメソッドは、クラスのインスタンスが利用できる機能や振る舞いを実装します。</li>
</ol>



<p class="has-text-align-center"><span class="badge-green">サンプルコード１</span>　<strong><code>Dog</code>クラスの定義</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="">class Dog {
  constructor(name, breed) {
    this.name = name; // 犬の名前
    this.breed = breed; // 犬の種類
  }

  bark() {
    console.log(`${this.name} says woof!`);
  }
}</pre>



<h3 class="wp-block-heading"><span id="toc3">コンストラクタ（constructor）</span></h3>



<p>コンストラクタとは、オブジェクト指向プログラミングに共通して存在する重要な概念の１つで、<strong><span class="marker-under">クラスからオブジェクト（インスタンス）を生成する際に自動的に呼び出される特別なメソッド</span></strong>です。コンストラクタの主な役割は、新しく作成されたオブジェクトの初期化を行うこと。これには、オブジェクトのプロパティに初期値を設定する作業が含まれます。</p>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong>コンストラクタの特徴</strong></p>



<ol class="wp-block-list">
<li class="is-style-bottom-margin-1em has-bottom-margin"><strong>自動的に呼び出される:</strong> インスタンスが生成される時に自動的に呼び出される。この性質により、オブジェクトが適切に初期化されていることを保証することが可能になる。</li>



<li class="is-style-bottom-margin-1em has-bottom-margin"><strong>初期化の役割:</strong> オブジェクトのプロパティや状態に初期値を設定。→オブジェクトが正しく機能するための準備が整う。</li>



<li><strong>直接呼び出しは不可:</strong> コンストラクタは、<code>new</code>キーワードを使用してクラスからオブジェクトを生成する際にのみ内部的に呼び出されます。クラスの外部から直接呼び出すことはできません。</li>
</ol>



<p>以下は、JavaScriptにおける簡単な<code>Person</code>クラスの定義と、そのコンストラクタの使用例です。</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="">class Person {
  constructor(name, age) {
    this.name = name; // プロパティに初期値を設定
    this.age = age;   // 同上
  }

  greet() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

// Personクラスからインスタンスを生成し、コンストラクタが自動的に呼び出される
const person1 = new Person('John', 30);

// greetメソッドを呼び出して、コンストラクタによって設定された値を使用
person1.greet(); // 出力: Hello, my name is John and I am 30 years old.</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/template-literal/">${テンプレートリテラル}</a> / <a href="https://it-biz.online/web-design/object-2/">メソッドの呼び出し</a></p>



<p>この例では、<code>Person</code>クラスのコンストラクタが、新しい<code>Person</code>オブジェクトが作成される際に<code>name</code>と<code>age</code>のプロパティに初期値を設定しています。その後、<code>greet</code>メソッドを通じて、これらのプロパティがどのようにオブジェクト内で使用されるかを示しています。</p>



<p>コンストラクタを使用することで、オブジェクトが期待する状態で生成されることを保証し、プロパティの値が適切に設定されていることを確認できます。これにより、オブジェクトの安定した動作と、コードの保守性の向上が期待できます。</p>



<h3 class="wp-block-heading"><span id="toc4">インスタンスの作成</span></h3>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="552" height="184" src="https://it-biz.online/wp-content/uploads/2024/03/image-6.png" alt="Javascript クラス" class="wp-image-8943" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-6.png 552w, https://it-biz.online/wp-content/uploads/2024/03/image-6-500x167.png 500w, https://it-biz.online/wp-content/uploads/2024/03/image-6-300x100.png 300w" sizes="(max-width: 552px) 100vw, 552px" /><figcaption class="wp-element-caption">（再掲）図1：クラスの概念</figcaption></figure>



<p>定義したクラスはそのままでは利用できません。インスタンスを作成したとき始めて実体化します。ここでは、インスタンス化についてご説明します。</p>



<p>「インスタンス化」とは、<strong>クラス（オブジェクトの設計図）をもとにして、具体的なオブジェクト（インスタンス）を生成するプロセスのこと</strong>を指します。オブジェクト指向プログラミングにおいて、クラスは属性（プロパティ）と動作（メソッド）を定義するテンプレートのようなものですが、<strong><span class="marker-under">クラス自体は具体的なデータや状態を持ちません。</span></strong>インスタンス化を通じて、この抽象的な定義から実際に動作するオブジェクトを作り出します。</p>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong>インスタンス化のプロセス</strong></p>



<ol class="wp-block-list">
<li class="is-style-bottom-margin-1em has-bottom-margin"><strong>クラスの定義:</strong> まず、オブジェクトの構造や振る舞いを定義するクラスを作成。</li>



<li class="is-style-bottom-margin-1em has-bottom-margin"><strong>インスタンスの生成:</strong> クラスから新しいインスタンスを生成するには、<strong><span class="marker-under"><code>new</code>キーワード</span></strong>を使ってクラスをインスタンス化する。このステップでコンストラクタが呼び出され、オブジェクトの初期化が行われる。</li>



<li><strong>インスタンスの使用:</strong> インスタンス化されたオブジェクトは、定義されたプロパティやメソッドを持ち、プログラム内で自由に使うことができる。</li>
</ol>



<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="">class FirstClass {
~~~
}

// FirstClassのインスタンスを作成
const firstInstance = new FisrtClass();

// インスタンスのメソッドを呼び出す
firstInstance.method1();
firstInstance.method2();</pre>



<p><strong><span class="marker-under"><code>new</code>キーワード</span></strong>を使って<code>FirstClass</code>のインスタンスを作成し、その後でインスタンスに対して定義されたメソッドを呼び出しています。これにより、クラスを利用した具体的なオブジェクトが生成され、そのオブジェクト固有の機能を使用することができます。</p>



<p class="has-text-align-center"><span class="badge-green">サンプルコード２</span>　<strong><code>Dog</code>クラスのインスタンス化と呼び出し</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="">class Dog {
  constructor(name, breed) {
    this.name = name; // 犬の名前
    this.breed = breed; // 犬の種類
  }

  bark() {
    console.log(`${this.name} says woof!`);
  }
}


// `Dog`クラスからインスタンスを作成
const myDog = new Dog("Buddy", "Golden Retriever");

// インスタンスのメソッドを呼び出す
myDog.bark(); // 出力: Buddy says woof!</pre>



<p>インスタンスの作成には<code>new</code>キーワードを使用し、<code>Dog</code>クラスに定義された<code>bark</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 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>ここまでの説明でクラスの基本的な概念と使い方についてはアルテ色理解が深まったと思います。クラスの定義、コンストラクタの役割、インスタンス化のプロセス、そしてプロパティとメソッドの定義と使用方法。これらはオブジェクト指向プログラミングにおいて非常に重要な概念であり、JavaScriptをはじめとする多くのプログラミング言語で広く使われています。</p>
</div></div>



<p>ただし、クラスを完璧に理解するためには、以下のようなさらに高度なトピックも存在します。ここからは、↓についていくつかサンプルコードをもとに深堀して解説していきます。</p>



<figure class="wp-block-table"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>概念</th><th>説明</th></tr></thead><tbody><tr><td>継承</td><td>クラス間でコードを再利用するためのメカニズム。基底クラスのプロパティやメソッドを派生クラスが継承する。</td></tr><tr><td>カプセル化</td><td>クラス内のデータ（プロパティ）と振る舞い（メソッド）を一つにまとめ、外部からの直接的なアクセスを制限する方法。</td></tr><tr><td>ポリモーフィズム</td><td>異なるクラスのオブジェクトが同じインターフェースを通じて異なる振る舞いを実現する概念。</td></tr><tr><td>静的メソッドとプロパティ</td><td>インスタンスを生成せずにクラス自体に紐づけられるメソッドやプロパティ。</td></tr></tbody></table></div></figure>



<h2 class="wp-block-heading"><span id="toc5">継承（extends）</span></h2>



<p>継承とは、あるクラス（基底クラスまたは親クラスと呼ばれる）の特性（プロパティとメソッド）を別のクラス（派生クラスまたは子クラスと呼ばれる）に引き継ぐメカニズムです。継承を利用することで、既存のコードの再利用、プログラムの構造の整理、および複雑性の管理が容易になります。</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 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>JavaScriptでの継承の簡単な例を以下に示します。クラスの継承を行う際には<strong><span class="marker-under"><code>extends</code>キーワード</span></strong>を使用します。</p>
</div></div>



<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="">// 基底クラス（親クラス）
class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} makes a sound.`);
  }
}

// 派生クラス（子クラス） - Animalクラスを継承
class Dog extends Animal {
  constructor(name) {
    super(name); // 親クラスのコンストラクタを呼び出し
  }

  speak() {
    console.log(`${this.name} barks.`);
  }
}

const dog = new Dog('Rex');
dog.speak(); // 出力: Rex barks.</pre>



<p>↑の例では、<code>Animal</code>クラスが基底クラスとして定義されており、<code>Dog</code>クラスが<code>Animal</code>クラスを継承しています。<code>Dog</code>クラスは<code>Animal</code>クラスの<code>constructor</code>と<code>speak</code>メソッドを継承していますが、<code>speak</code>メソッドを<strong>オーバーライド（上書き）</strong>して独自の振る舞いを定義しています。</p>



<h3 class="wp-block-heading"><span id="toc6">super</span></h3>



<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 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>クラスを継承して利用する際の「super」キーワードについてご説明します。</p>
</div></div>



<p><code>super</code>は、<strong>派生クラス（子クラス）から基底クラス（親クラス）のコンストラクタやメソッドにアクセスするために使用されるキーワード</strong>です。<code>super</code>の使用目的は主に以下の二つに分けられます。</p>



<h4 class="wp-block-heading">パターン１：コンストラクタ内での<code>super</code></h4>



<p>派生クラスのコンストラクタ内で<code>super</code>を使用すると、基底クラスのコンストラクタを呼び出すことができます。これは、派生クラスで基底クラスのコンストラクタを実行して初期化処理を行う必要がある場合に使用します。派生クラスのコンストラクタ内で<code>super</code>を呼び出さないと、基底クラスのプロパティが適切に初期化されず、エラーが発生する可能性があります。</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="">class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // 基底クラスのコンストラクタを呼び出し、nameプロパティを初期化
    this.breed = breed; // 追加のプロパティを初期化
  }
}</pre>



<h4 class="wp-block-heading">パターン２：メソッド内での<code>super</code></h4>



<p>派生クラスのメソッド内で<code>super</code>を使用すると、基底クラスに定義されたメソッドにアクセスできます。これは、派生クラスで基底クラスのメソッドの振る舞いを再利用したい、または拡張したい場合に便利です。<code>super</code>を用いることで、基底クラスのメソッドをオーバーライド（上書き）しつつ、その元の実装を呼び出すことが可能になります。</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="">class Animal {
  speak() {
    console.log("Animal makes a sound.");
  }
}

class Dog extends Animal {
  speak() {
    super.speak(); // 基底クラスのspeakメソッドを呼び出し
    console.log("Dog barks.");
  }
}

const dog = new Dog();
dog.speak();
// 出力:
// Animal makes a sound.
// Dog barks.</pre>



<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 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>super</code>は派生クラスから基底クラスのコンストラクタやメソッドにアクセスし、それらを利用するための強力な機能を提供する、と理解できればOKです。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc7">カプセル化</span></h2>



<p>JavaScriptにおける「<strong>カプセル化</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 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>



<h3 class="wp-block-heading"><span id="toc8">JavaScriptにおけるカプセル化の実現方法</span></h3>



<p>JavaScriptでカプセル化を実現する方法はいくつかありますが、一般的な方法は以下の通りです。</p>



<p class="has-text-align-center"><span class="badge-red">パターン１</span>　<strong>プライベートフィールドとメソッド（ES2020以降）</strong></p>



<p>最新のJavaScriptでは、クラス内でプライベートフィールドやメソッドを定義するために<code>#</code>プレフィックスを使用します。これにより、クラスの外部からはアクセスできなくなります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="java" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">class Person {
  #name; // プライベートフィールド

  constructor(name) {
    this.#name = name;
  }

  getName() {
    return this.#name; // プライベートフィールドへのアクセス
  }
}

const person = new Person('John');
console.log(person.getName()); // John
console.log(person.#name); // SyntaxError: Private field '#name' must be declared in an enclosing class</pre>



<p>プロパティ「#name」はカプセル化されたので、外部から直接参照することはできません。そのため、最後の行で「#name」を参照している個所はエラーとなっていることが分かります。</p>



<p class="has-text-align-center"><span class="badge-red">パターン２</span>　<strong>クロージャを使用する</strong></p>



<p>クロージャを利用してプライベート変数や関数を作成することもできます。この方法は、ES2020以前から利用可能で、<strong>関数スコープ</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 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>



<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="">function Person(name) {
  let privateName = name; // プライベート変数

  this.getName = function() {
    return privateName;
  };
}

const person = new Person('John');
console.log(person.getName()); // John
console.log(person.privateName); // undefined</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/function/">function文</a> / <a href="https://it-biz.online/web-design/var-let/">関数スコープとは？</a></p>



<p>privateName は関数内でのみ有効なので、これは外部から参照することはできないということです。</p>



<p>カプセル化の利点は「<strong>安全性</strong>: オブジェクトの内部状態が外部から直接変更されることを防ぐ」「<strong>メンテナンス性</strong>: 内部実装の変更が外部のコードに影響を与えにくくなる」「<strong>使用の単純化</strong>: 利用者はオブジェクトの公開インターフェースだけを理解すればOK（内部の複雑さを知る必要がない）」という点にあります。</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 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>カプセル化は、プログラムの堅牢性を高め、複雑性を管理するのに役立つ重要な概念です。JavaScriptではプライベートフィールドやクロージャを使った方法でカプセル化を実現し、より安全でメンテナンスしやすいコードを書くことができます。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc9">ポリモーフィズム</span></h2>



<p><strong>ポリモーフィズム（多態性）</strong>は、異なるクラスのオブジェクトが同一のインターフェースやメソッドを通じて異なる動作をする能力を指します。ポリモーフィズムを利用することで、コードの再利用性を高め、柔軟性と拡張性を向上させることができます。</p>



<p class="has-text-align-center"><span class="badge-green">サンプル</span>　<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="">class Animal {
  speak() {
    console.log("Animal speaks");
  }
}

class Dog extends Animal {
  speak() {
    console.log("Dog barks");
  }
}

class Cat extends Animal {
  speak() {
    console.log("Cat meows");
  }
}

function makeAnimalSpeak(animal) {
  animal.speak(); // 実行時にオブジェクトの実際のクラスに基づいて適切なメソッドが呼び出される
}

const dog = new Dog();
const cat = new Cat();

makeAnimalSpeak(dog); // 出力: Dog barks
makeAnimalSpeak(cat); // 出力: Cat meows</pre>



<p>↑の例では、<code>Animal</code>クラスを継承した<code>Dog</code>クラスと<code>Cat</code>クラスが異なる<code>speak</code>メソッドの実装を持っています。<code>makeAnimalSpeak</code>関数は<code>Animal</code>型のパラメータを取りますが、実際にはそのサブクラスのインスタンスを受け取り、オーバーライドされたメソッドを実行します。これにより、異なるクラスのオブジェクトが同一のインターフェース（この場合は<code>speak</code>メソッド）を通じて異なる動作を示すポリモーフィズムが実現されています。</p>



<h3 class="wp-block-heading"><span id="toc10">ポリモーフィズムの主な形態</span></h3>



<ol class="wp-block-list">
<li><strong>サブタイプポリモーフィズム（継承ポリモーフィズム）</strong>
<ul class="wp-block-list">
<li>サブタイプポリモーフィズムは、基底クラス（親クラス）の参照を通じて派生クラス（子クラス）のインスタンスを扱うことができる性質です。派生クラスは基底クラスのメソッドをオーバーライド（上書き）することで、異なる振る舞いを実現します。</li>
</ul>
</li>



<li><strong>アドホックポリモーフィズム（オーバーロードポリモーフィズム）</strong>
<ul class="wp-block-list">
<li>同じ関数名でも、引数の型や数に応じて異なる処理を行うことを指します。JavaScriptでは関数のオーバーロードは直接的にはサポートされていませんが、引数の数や型をチェックすることで同様の動作を実現できます。</li>
</ul>
</li>
</ol>



<p>ポリモーフィズムを利用することで、プログラムの柔軟性を高め、異なるクラスのオブジェクトを一つのインターフェースを通じて扱うことが可能になります。これは、特に大規模なアプリケーションやライブラリの設計において、コードの簡潔さと再利用性の向上に寄与します。</p>



<h2 class="wp-block-heading"><span id="toc11">静的メソッドとプロパティ</span></h2>



<p>静的メソッドとプロパティは、クラスのインスタンスではなく<strong><span class="marker-under">クラス自体に属するメソッドとプロパティ</span></strong>です。これらはクラスのインスタンスを生成することなく直接クラスからアクセスすることができます。静的メソッドとプロパティは、インスタンスに依存しない操作を行いたい場合や、クラスレベルで共有するデータを持つ場合に便利です。</p>



<h3 class="wp-block-heading"><span id="toc12">静的メソッド</span></h3>



<ul class="wp-block-list">
<li>静的メソッドは、クラスのインスタンス化なしに呼び出すことができるメソッド。</li>



<li><strong><span class="marker-under"><code>static</code>キーワード</span></strong>を使ってクラス内で定義されます。</li>



<li>インスタンス固有のデータ（プロパティ）にはアクセスできませんが、静的プロパティにはアクセス可能です。</li>



<li>ユーティリティ関数やファクトリーメソッドなど、インスタンスデータに依存しない処理を実装するのに適しています。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc13">静的プロパティ</span></h3>



<ul class="wp-block-list">
<li>静的プロパティは、クラスのインスタンス間で共有されるクラスレベルのデータです。</li>



<li><strong><span class="marker-under"><code>static</code>キーワード</span></strong>を用いて定義され、クラス名を通じてアクセスします。</li>



<li>すべてのインスタンスに共通の値を保持したい場合や、設定値などをクラスに紐づけて管理したい場合に使用されます。</li>
</ul>



<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="">class MyClass {
  static staticProperty = 'クラスレベルのプロパティ';

  static staticMethod() {
    return '静的メソッドが呼び出されました';
  }
}

console.log(MyClass.staticProperty); // クラスレベルのプロパティ
console.log(MyClass.staticMethod()); // 静的メソッドが呼び出されました</pre>



<p>この例では、<code>MyClass</code>に静的プロパティと静的メソッドを定義しています。これらは<code>MyClass</code>のインスタンスを生成せずに直接アクセスすることができます。</p>



<p>静的メソッドとプロパティは、インスタンスに依存しない操作を行いたい場合や、クラス全体で共有する情報を管理する場合に特に有用です。しかし、インスタンス固有のデータにアクセスする必要がある場合は、非静的メソッドやプロパティを使用する必要があります。</p>



<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>



<ol class="wp-block-list">
<li><strong>クラスの定義</strong>
<ul class="wp-block-list">
<li><code>class</code>キーワードを使用してクラスを定義。コンストラクタ内でインスタンスの初期化を行い、メソッドで振る舞いを定義。</li>
</ul>
</li>



<li><strong>継承</strong>
<ul class="wp-block-list">
<li><code>extends</code>キーワードを用いてクラス間でコードを再利用し、新しいクラスを作成。</li>
</ul>
</li>



<li><strong>カプセル化</strong>
<ul class="wp-block-list">
<li>プロパティやメソッドのアクセス制限を通じて、クラスの詳細を隠蔽すること。</li>
</ul>
</li>



<li><strong>ポリモーフィズム</strong>
<ul class="wp-block-list">
<li>異なるクラスが同一のインターフェース（メソッド）を通じて異なる振る舞いを示すこと。</li>
</ul>
</li>



<li><strong>静的メソッドとプロパティ</strong>
<ul class="wp-block-list">
<li>インスタンスではなくクラス自体に属するメソッドやプロパティで、<code>static</code>キーワードを用いて定義します。</li>
</ul>
</li>
</ol>



<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="">class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} makes a noise.`);
  }

  static classification() {
    console.log('Animals are living beings.');
  }
}

class Dog extends Animal {
  constructor(name) {
    super(name);
  }

  speak() {
    console.log(`${this.name} barks.`);
  }
}

const dog = new Dog('Rex');
dog.speak(); // 出力: Rex barks.
Animal.classification(); // 出力: Animals are living beings.</pre>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】１分で理解する！=&gt;アロー関数の基本</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で関数を利用する方法の１つ、アロー関数について解説します。 アロー（英:arrow）関数とは、その名の通り（ =&#62; ）矢印を利用して関数のINPUT / OUTPUTを示す記述方法です。func [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>JavaScriptで関数を利用する方法の１つ、<strong>アロー関数</strong>について解説します。</p>



<p>アロー（英:arrow）関数とは、その名の通り（ =&gt; ）矢印を利用して関数のINPUT / OUTPUTを示す記述方法です。<span class="marker-under"><a href="https://it-biz.online/web-design/function/">function</a>式の記述が不当となるため、コードの短縮化・可読性の向上が見込めます。</span></p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>アロー関数の基本/意味と使い方・書き方</li>



<li>アロー関数を用いたサンプルコード</li>
</ul>
</div></div>



<p>アロー関数を理解するための前提となる知識も合わせて解説しております。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-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【前提】関数宣言と関数式の違い</a><ol><li><a href="#toc2" tabindex="0">関数宣言（function文）</a></li><li><a href="#toc3" tabindex="0">関数式とは？（無名関数 / 関数リテラル）</a></li></ol></li><li><a href="#toc4" tabindex="0">アロー関数とは？</a><ol><li><a href="#toc5" tabindex="0">引数が１つの場合　⇒　（　）を省略可能</a></li><li><a href="#toc6" tabindex="0">引数がない場合　⇒　(　)は必須</a></li></ol></li><li><a href="#toc7" tabindex="0">JavaScriptを体系的に学びたい方は</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【前提】関数宣言と関数式の違い</span></h2>



<p>アロー関数を理解するには、関数とは何か？（関数宣言と関数式の違い）の問いに答えられるようになっておく必要があります。</p>



<p>この章では、簡単に前提知識をおさらいします。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p>関数式（無名関数）＝関数リテラルについて理解している方はこの章は読み飛ばしOKです！</p>
</div>



<h3 class="wp-block-heading"><span id="toc2">関数宣言（function文）</span></h3>



<p>関数宣言は、その名の通り<strong>function文を用いて関数を宣言する方法</strong>です。宣言した関数は、後から直接「関数名」を記述することで実行されます。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="ZEYNpLJ" 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="function1">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/ZEYNpLJ">
  function1</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-sticky-box blank-box block-box sticky">
<p>そもそもfunction文って何？という方はこちらの記事をご覧ください。</p>



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

<a href="https://it-biz.online/web-design/function/" title="【JavaScript】関数：functionの使い方とコツを３分でわかりやすく" 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-12-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-12-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-12-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-12-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】関数：functionの使い方とコツを３分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】JavaScriptのfunction（関数）の意味と利用方法、コーディング方法を丸っと解説します。パラメータ（引数）の使い方やローカル変数/グローバル変数の差異など、function（関数）利用時に知っておきたい内容を３分でまとめます。</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">2025.05.07</div></div></div></div></a>
</div></figure>
</div>



<h3 class="wp-block-heading"><span id="toc3">関数式とは？（無名関数 / 関数リテラル）</span></h3>



<p>対して、関数式とは変数（もしくは定数）に関数を<strong>値として</strong>代入し、<strong>後からその変数を呼び出すことで関数を間接的に利用する方法</strong>です。 </p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">関数式（function expression）</span></div><div class="label-box-content block-box-content box-content">
<p><a href="https://it-biz.online/web-design/var-let/">let（変数宣言命令）</a>を用いて、関数を<strong>値として</strong>変数「sample」に代入します。</p>



<p>関数を呼び出す際は、<strong>変数「sample」を呼び出すことで、間接的に関数が呼び出されます。</strong></p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="rNaXpNO" 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/rNaXpNO">
  関数式</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></div>



<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/function-expression/" title="【JavaScript】関数式（無名関数）とは？関数宣言との違いを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/03/image-30-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-30-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/03/image-30-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/03/image-30-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】関数式（無名関数）とは？関数宣言との違いを3分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】JavaScriptにおける「関数宣言(Function Declaration)」と「関数式(Function Expression)」の違いを端的に分かりやすく解説します。関数式で用いられる無名関数（匿名関数）や、「巻き上げ」の有無についてサンプルコードを用いながら説明します。</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">2024.03.29</div></div></div></div></a>
</div></figure>



<p>関数式は、<strong>変数に関数のソースコードを直接べた書き</strong>し、その変数を呼び出すことで関数を実行する仕組みです。ソースコードを直接べた書きしているという点で、関数式は<strong>関数リテラル</strong>とも呼ばれます。</p>



<p>ちなみに、上記のコードを見ていただければわかるかと思いますが、関数定義時点で<strong>関数名</strong>を持たないため、その関数を<strong>無名関数</strong>（または<strong>匿名関数</strong>）と呼称します。</p>



<h2 class="wp-block-heading"><span id="toc4">アロー関数とは？</span></h2>



<p>アロー関数とは、<strong><span class="marker-under">関数式（関数リテラル）をさらに簡易的に記述するために用いられる技法</span></strong>です。</p>



<p>その名の通り矢印（<strong>=&gt;</strong>）を使います。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="ExjxNEQ" 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/ExjxNEQ">
  アロー関数</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>functionを利用しない代わりに、<strong>引数の直後に "=&gt;" を記述するだけ</strong>です。</p>



<p>引数を用いる関数を例にもう１つサンプルコードを見てみましょう。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="NWqWbLN" 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="アロー関数2">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/NWqWbLN">
  アロー関数2</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>アロー関数というと難しく感じてしまうかもしれませんが、実は非常に簡単です。考え方は、<strong>関数式と全く同じです</strong>。</p>



<h3 class="wp-block-heading"><span id="toc5">引数が１つの場合　⇒　（　）を省略可能</span></h3>



<p>アロー関数では、引数が１つの場合"( )"を省略することが可能です。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="gOpOLqO" 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="アロー関数3">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/gOpOLqO">
  アロー関数3</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>本来であれば、「let sample2 = <strong><span style="color:#e60033" class="color">(</span></strong>n<strong><span style="color:#e60033" class="color">)</span></strong> =&gt; n * 2;」とすべきところ、「let sample2 = n =&gt; n * 2;」と記述できるようになります。</p>



<h3 class="wp-block-heading"><span id="toc6">引数がない場合　⇒　(　)は必須</span></h3>



<p>引数がない関数の場合には、必ず "(  )" を記述する必要があります。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="ExjxNEQ" 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/ExjxNEQ">
  アロー関数</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>アロー関数を用いる際に誤りやすいポイントなので注意しましょう。</p>



<p>初心者にとってアロー関数は、少し理解しづらく読みづらいように感じてしまうことも多いかもしれません。しかし、<strong>実は慣れてくると結構読みやすくて使いやすい</strong>記述方式です。</p>



<p>今後のJavaScriptで関数を用いる際の主流になってくる可能性も高いのでぜひ今のうちに理解しておきましょう。</p>



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



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



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



<p>各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。</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】関数式（無名関数）とは？関数宣言との違いを3分で解説</title>
		<link>https://it-biz.online/web-design/function-expression/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Mon, 03 Feb 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=3520</guid>

					<description><![CDATA[このページでは、JavaScriptの関数式について初心者向けに分かりやすく解説します。 JavaScriptで関数を用いる場合は以下の２通りのパターンが存在します。１つが、function命令を用いた「関数宣言」。もう [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>このページでは、JavaScriptの<strong>関数式</strong>について初心者向けに分かりやすく解説します。</p>



<p>JavaScriptで関数を用いる場合は以下の２通りのパターンが存在します。<span class="marker-under">１つが、function命令を用いた「<strong>関数宣言</strong>」。もう１つが、関数を変数に値として代入する「<strong>関数式</strong>」です。</span></p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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><strong>関数式とは？</strong>意味と書き方・使い方</li>



<li><strong>無名関数（匿名関数）とは？</strong></li>
</ul>
</div></div>



<p>本ページの内容を理解する上で必要となる前提知識も本ページにすべて記載しております。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-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【前提】関数宣言とは？―function文</a></li><li><a href="#toc2" tabindex="0">関数式とは？</a></li><li><a href="#toc3" tabindex="0">無名関数（匿名関数）について</a><ol><li><a href="#toc4" tabindex="0">無名関数のメリット</a></li></ol></li><li><a href="#toc5" tabindex="0">関数宣言と関数式―巻き上げの有無</a></li><li><a href="#toc6" tabindex="0">JavaScriptを体系的に学びたい方は</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【前提】関数宣言とは？―function文</span></h2>



<p>関数宣言は、その名の通り<strong><span class="marker-under">function文を用いて関数を宣言する方法</span></strong>です。宣言した関数は、後から直接「関数名」を記述することで実行されます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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">関数宣言 (function declaration) </span></div><div class="label-box-content block-box-content box-content">
<p>関数宣言は、「function 関数名」で関数を定義し、「関数名」で関数を呼び出す方法です。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="ZEYNpLJ" 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="function1">
  <span>See the Pen <a href="https://codepen.io/BizOnline/pen/ZEYNpLJ">
  function1</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>詳しくは、こちらの記事で解説しております。関数式を学習するまえに、<strong>まずは基本となる「関数宣言」についてマスターしておくことをおすすめ</strong>します。</p>



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

<a href="https://it-biz.online/web-design/function/" title="【JavaScript】関数：functionの使い方とコツを３分でわかりやすく" 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-12-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-12-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-12-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-12-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】関数：functionの使い方とコツを３分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】JavaScriptのfunction（関数）の意味と利用方法、コーディング方法を丸っと解説します。パラメータ（引数）の使い方やローカル変数/グローバル変数の差異など、function（関数）利用時に知っておきたい内容を３分でまとめます。</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">2025.05.07</div></div></div></div></a>
</div></figure>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">関数式とは？</span></h2>



<p>対して、関数式とは変数（もしくは定数）に関数を<strong>値として</strong>代入し、<strong><span class="marker-under">後からその変数を呼び出すことで関数を間接的に利用する方法</span></strong>です。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-box"><div class="label-box-label block-box-label box-label"><span class="label-box-label-text block-box-label-text box-label-text">関数式 (function expression)  </span></div><div class="label-box-content block-box-content box-content">
<p><a href="https://it-biz.online/web-design/var-let/">let（変数宣言命令）</a>を用いて、関数を<strong>値として</strong>変数「sample」に代入します。</p>



<p>関数を呼び出す際は、<strong>変数「sample」を呼び出すことで、間接的に関数が呼び出されます。</strong></p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="rNaXpNO" 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/rNaXpNO">
  関数式</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></div>



<h2 class="wp-block-heading"><span id="toc3">無名関数（匿名関数）について</span></h2>



<p><strong>関数宣言</strong>(function declaration)と<strong>関数式</strong>(function expression)の大きな違いは、関数名を必須とするかどうか？という点です。</p>



<p><strong>関数宣言</strong>と<strong>関数式</strong>。両方の場合のコードをもう１度見てみましょう</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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="js" data-enlighter-theme="" data-enlighter-highlight="2" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">//function（関数）の定義
function test(){
  document.write( 'Hello World!' );
}

//function（関数）の呼び出し
test();</pre>



<p>上記のように、<strong>必ずfunctionの後ろに「関数名」を指定する必要</strong>があります。もし、ここで関数名を指定しない場合は、構文エラーとなり関数が正常に定義されません。</p>
</div></div>



<p>対して、<strong>関数式</strong>(function expression)の例を見てみましょう。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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="js" data-enlighter-theme="" data-enlighter-highlight="1" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">et sample = function () {
  document.write( "Hello World!" );
}

sample();</pre>



<p>関数式の場合は、<strong><span class="marker-under">functionの後ろに関数名を指定しなくてもOK。</span></strong></p>



<p>この場合、関数名が定義されないので、この関数を「<strong><span style="color:#e60033" class="color">無名関数</span></strong>（もしくは<strong>匿名関数</strong>）」と呼びます。「無名関数」とは、その名の通り名前がない関数という意味なのです。簡単ですね。</p>
</div></div>



<p>※ちなみに、もちろん関数式の場合でも関数名を指定することは可能です。（以下のコードはエラーになりません。）</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="">et sample = function sample2 () {
  document.write( "Hello World!" );
}

sample();</pre>



<p>ただし、特殊な事情がない限り、わざわざ関数名を指定する必要はありません。<strong>基本的には、関数式を利用する際には、関数名を定義しない無名関数を利用する</strong>方針でOKです。</p>



<h3 class="wp-block-heading"><span id="toc4">無名関数のメリット</span></h3>



<p>無名関数の大きなメリットは、関数利用時に<strong>名前を考える必要がない</strong>ということです。</p>



<p>実際にコーディングをしていくようになれば分かりますが、この名前を付けるという作業は結構面倒なのです。「短く」「分かりやすい」名称の関数を考えるだけで、初心者コーダーほど時間を奪われがちです。</p>



<p>ただし、関数の中には名前を付けるほどでもない些細な処理しか行わない関数もあるのは事実。無名関数の大きな存在意義はここにあると言えます。</p>



<h2 class="wp-block-heading"><span id="toc5">関数宣言と関数式―巻き上げの有無</span></h2>



<p>最後に、関数宣言と関数式の知っておくべき重要な違い「<strong>巻き上げの有無</strong>」について解説します。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>関数宣言　⇒　巻き上げ<strong>あり</strong></li>



<li>関数式　　⇒　巻き上げ<strong>なし</strong></li>
</ul>
</div></div>



<p>巻き上げとは、<strong><span class="marker-under">JavaScriptでプログラムの読み込み順序が逆転する現象のこと</span></strong>です。</p>



<p>通常、プログラムは「<strong>上から下へ実行</strong>」されるのですが、一部例外があり<strong>下の方に書かれている内容から実行される</strong>場合があります。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>関数宣言の場合、関数の実行文を先に記述しても問題なく実行されます。</p>



<p>これは、<strong>巻き上げ</strong>が発生しているためです。つまり、JavaScriptが自動的に「関数宣言（function文）」を先に読み込んでいるということ。</p>



<p class="codepen" data-height="265" data-theme-id="default" data-default-tab="js,result" data-user="BizOnline" data-slug-hash="KKwOZZp" 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/KKwOZZp">
  関数式―巻き上げ</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></div>



<h2 class="wp-block-heading is-provider-ビズドットオンライン"><span id="toc6">JavaScriptを体系的に学びたい方は</span></h2>



<p class="is-provider-ビズドットオンライン"><strong><span class="marker-under">プログラミングをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。</span></strong></p>



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



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



<figure class="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）を３分で解説</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での変数宣言にはvar, let, constの3つのキーワードがあります。それぞれのキーワードには特定の特徴とルール・制限が存在しており、場面に応じた適切な使い分けが重要になるので、このページではそ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>JavaScriptでの変数宣言には<code><strong>var</strong></code>, <code><strong>let</strong></code>, <code><strong>const</strong></code>の3つのキーワードがあります。それぞれのキーワードには特定の特徴とルール・制限が存在しており、場面に応じた適切な使い分けが重要になるので、このページではそもそも変数って何？という基本知識から、JavaScriptにおける<code><strong>var</strong></code>, <code><strong>let</strong></code>, <code><strong>const</strong></code>の3つのキーワードの使い分けまで整理して解説します。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/variable/">プログラミングにおける「変数」とは？</a></p>



<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における変数宣言（var）</strong></p>



<ul class="wp-block-list">
<li><strong>関数スコープ</strong>: <code><span class="bold-blue">var</span></code>で宣言された変数は、その変数が含まれる関数内でのみ参照可能。</li>



<li><strong>再代入可能</strong>: 一度宣言された変数に対して、新たな値を代入することができる。</li>



<li><strong>巻き上げあり</strong>: 宣言前に変数を参照してもエラーにはならず、<code><span class="red">undefined</span></code>が返される。</li>



<li><strong>再宣言可能</strong>: 同じスコープ内であれば、同名の変数を再度宣言できる。</li>
</ul>



<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="">function testVar() {
  var x = 1;
  if (true) {
    var x = 2; // 同じ変数xを再宣言しています
    console.log(x); // 出力: 2
  }
  console.log(x); // 出力: 2 (関数スコープのため、ifブロック外でも値は2)
}

testVar();</pre>



<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>JavaScriptにおける変数宣言（let）</strong></p>



<ul class="wp-block-list">
<li><strong>ブロックスコープ</strong>: <code><span class="bold-blue">let</span></code>で宣言された変数は、その変数が含まれるブロック（<code><span class="blue">{}</span></code>で囲まれた範囲）内でのみ参照可能。</li>



<li><strong>再代入可能</strong>: 一度宣言された変数に対して、新たな値を代入することが可能。</li>



<li><strong>巻き上げなし</strong>: 変数は宣言されるまで参照できない（実際には巻き上げは発生するが、<code><span class="blue">Temporal Dead Zone</span></code>のため参照不可）。</li>



<li><strong><span class="marker-under">再宣言不可</span></strong>: 同じスコープ内で同名の変数を<code><span class="bold-blue">let</span></code>で再宣言することはできない。</li>
</ul>



<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="">function testLet() {
  let y = 1;
  if (true) {
    let y = 2; // ブロックスコープ内で新たにyを宣言
    console.log(y); // 出力: 2
  }
  console.log(y); // 出力: 1 (ブロックスコープのため、元のyの値は変わらない)
}

testLet();</pre>



<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>JavaScriptにおける変数宣言（const）</strong></p>



<ul class="wp-block-list">
<li><strong>ブロックスコープ</strong>: <code><span class="bold-blue">const</span></code>も<code><span class="blue">let</span></code>同様にブロックスコープを持ち、変数は宣言されたブロック内でのみ参照可能。</li>



<li><strong><span class="marker-under">再代入不可</span></strong>: 一度<code><span class="bold-blue">const</span></code>で宣言された変数は、新たな値を代入することができない。</li>



<li><strong>巻き上げなし</strong>: <code><span class="blue">let</span></code>と同じく、宣言前に変数を参照しようとするとエラーが発生する。</li>



<li><strong>再宣言不可</strong>: <code><span class="blue">let</span></code>と同様に、同じスコープ内で同名の変数を<code><span class="bold-blue">const</span></code>で再宣言することはできない。</li>



<li><strong>初期化必須</strong>: <code><span class="bold-blue">const</span></code>で変数を宣言する際は、宣言と同時に初期値を指定する必要がある。</li>
</ul>



<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="">function testConst() {
  const z = 1;
  console.log(z); // 出力: 1

  // z = 2; // エラー: "z" is read-only

  if (true) {
    const z = 2; // ブロックスコープ内で新たにzを宣言
    console.log(z); // 出力: 2
  }
  console.log(z); // 出力: 1 (ブロックスコープのため、元のzの値は変わらない)
}

testConst();


const obj = { key: 'value' };
console.log(obj.key); // 出力: value

obj.key = 'newValue'; // オブジェクトのプロパティは変更可能
console.log(obj.key); // 出力: newValue

// obj = {}; // エラー: "obj" is read-only</pre>
</div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>結論を超ザックリいえば、変数宣言するなら「let」。定数を宣言するなら「const」。「var」は古い宣言方法なので基本使わない！と覚えればOK。そのうえで、古いコードでは「var」も使われているから一応理解しておきましょう！という内容です。</p>
</div></div>



<figure class="wp-block-table aligncenter"><div class="scrollable-table stfc-sticky"><table><thead><tr><th class="has-text-align-center" data-align="center">キーワード</th><th class="has-text-align-center" data-align="center">スコープ</th><th class="has-text-align-center" data-align="center">再代入可能</th><th class="has-text-align-center" data-align="center">巻き上げ(Hoisting)</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center"><code><strong>var</strong></code></td><td class="has-text-align-center" data-align="center">関数スコープ</td><td class="has-text-align-center" data-align="center">〇</td><td class="has-text-align-center" data-align="center">〇</td></tr><tr><td class="has-text-align-center" data-align="center"><code><strong>let</strong></code></td><td class="has-text-align-center" data-align="center">ブロックスコープ</td><td class="has-text-align-center" data-align="center">〇</td><td class="has-text-align-center" data-align="center">×</td></tr><tr><td class="has-text-align-center" data-align="center"><code><strong>const</strong></code></td><td class="has-text-align-center" data-align="center">ブロックスコープ</td><td class="has-text-align-center" data-align="center">×</td><td class="has-text-align-center" data-align="center">×</td></tr></tbody></table></div><figcaption class="wp-element-caption">表1：JavaScriptにおける変数宣言</figcaption></figure>



<ol class="wp-block-list">
<li><strong>関数スコープ</strong>
<ul class="wp-block-list">
<li>宣言された変数が<a href="https://it-biz.online/web-design/function/">関数</a>内でのみ参照可能</li>
</ul>
</li>



<li><strong>ブロックスコープ</strong>
<ul class="wp-block-list">
<li>宣言された変数がブロック（<code><span class="blue">{}</span></code>で囲まれた範囲）内でのみ参照可能</li>
</ul>
</li>



<li><strong>再代入可能</strong>
<ul class="wp-block-list">
<li>変数に値を再度割り当てることが可能</li>
</ul>
</li>



<li><strong>巻き上げ</strong>
<ul class="wp-block-list">
<li><span class="marker-under">変数宣言がコード実行前にトップに移動されるJavaScriptの挙動</span></li>
</ul>
</li>
</ol>



<p>このページでは<code>var</code>, <code>let</code>, <code>const</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<p class="has-text-align-center"><span class="badge-green">参考</span>　<a href="https://it-biz.online/web-design/js-rule/">【JavaScript入門】基本文法/基礎文法を5分で復習</a></p>




  <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">JavaScriptの変数宣言：var</a><ol><li><a href="#toc2" tabindex="0">var：変数の再代入</a></li><li><a href="#toc3" tabindex="0">var：巻き上げ（Hoisting）</a></li><li><a href="#toc4" tabindex="0">var：関数スコープ</a></li></ol></li><li><a href="#toc5" tabindex="0">JavaScriptの変数宣言：let</a><ol><li><a href="#toc6" tabindex="0">let：ブロックスコープ</a></li><li><a href="#toc7" tabindex="0">let：変数の再代入</a></li></ol></li><li><a href="#toc8" tabindex="0">JavaScriptの「定数」宣言：const</a><ol><li><a href="#toc9" tabindex="0">const：ブロックスコープ</a></li><li><a href="#toc10" tabindex="0">const：再代入の禁止</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">JavaScriptの変数宣言：var</span></h2>



<p>JavaScriptでは、<strong><span class="marker-under"><code>var</code>キーワード</span></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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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><span class="blue">var</span></code>はJavaScriptで最も古い変数宣言のキーワードです。ちょっと厄介な性質を持つので今ではあまり利用されませんが、古いコードでは<span class="blue">var</span>が利用されているシーンもあるので一応冒頭で解説しておきます。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">var message = 'こんにちは、世界！';
console.log(message); // 出力: こんにちは、世界！</pre>



<p>↑のコードでは、<code><span class="blue">message</span></code>という名前の変数を宣言し、文字列<code>'<span class="bold-blue">こんにちは、世界！</span>'</code>を代入しています。<code><span class="blue">console.log</span></code>を使ってこの変数の内容をコンソールに出力すると文字列<code>'<span class="bold-blue">こんにちは、世界！</span>'</code>が表示されるという簡単なコードです。</p>



<p>ちなみに、<strong>変数というのは値を入れておく「箱」のようなもの</strong>で、この「箱」の中に入っているデータを変えたり参照したりすることで１つのプログラムが動いていきます。プログラムで計算を行う際、文字列を操作する際など、ありとあらゆる場面で一般的に利用される概念です。詳しくはこちら（<a href="https://it-biz.online/it-skills/variable/">変数とは？</a>）で解説します。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="658" height="282" src="https://it-biz.online/wp-content/uploads/2024/03/image-26.png" alt="JavaScript 変数" class="wp-image-9044" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-26.png 658w, https://it-biz.online/wp-content/uploads/2024/03/image-26-500x214.png 500w, https://it-biz.online/wp-content/uploads/2024/03/image-26-300x129.png 300w" sizes="(max-width: 658px) 100vw, 658px" /><figcaption class="wp-element-caption">図1：JavaScript「変数」とは？</figcaption></figure>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-lightbulb"><span class="tab-caption-box-label-text block-box-label-text box-label-text">コンソール</span></div><div class="tab-caption-box-content block-box-content box-content">
<p>コンソールは、開発者がプログラムの実行中にメッセージを表示したり、デバッグ情報を確認したりするためのツール。基本的にほぼすべてのブラウザに開発者ツールとして組み込まれているコンソールがあり、JavaScriptの実行結果の出力を確認したり、JavaScriptを直接実行したりすることができます。</p>



<p><code><span class="bold-blue">console.log</span></code>はJavaScriptにおける最も基本的なデバッグツールの１つで、指定されたメッセージや変数の内容をブラウザのコンソールに出力するために使用されます。この関数を使用することで、開発者はプログラムの実行中に変数の値を確認したり、特定のコードが実行されたかどうかをチェックすることができます。これはプログラムの動作を理解したり、バグを特定するのに役立ちます。</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="">console.log("Hello, world!"); // 文字列をコンソールに出力します。

var number = 5;
console.log(number); // 変数numberの値をコンソールに出力します。

var obj = { name: "John", age: 30 };
console.log(obj); // オブジェクトの内容をコンソールに出力します。</pre>
</div></div>



<h3 class="wp-block-heading"><span id="toc2">var：変数の再代入</span></h3>



<p><code>var</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>これを「<strong>再代入</strong>」と呼びます。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">var number = 10;
console.log(number); // 出力: 10

number = 20;
console.log(number); // 出力: 20</pre>



<p>最初に<code><span class="blue">number</span></code>変数に<code><span class="blue">10</span></code>を代入。次に<code><span class="blue">20</span></code>を再代入しています。<code>var</code>は何度でもこの値を変更することができ、プログラムの要求に応じて自由に再代入を繰り返すことが可能です。</p>



<p>これは、後述するconstキーワード（再代入ができない）とは異なる特徴を持ちますのでしっかりと頭に入れておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">var：巻き上げ（Hoisting）</span></h3>



<p><code>var</code>で宣言された変数は「<strong>巻き上げ</strong>」されます。「巻き上げ（Hoisting）」は、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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">console.log(myVar); // 出力: undefined

var myVar = '変数は巻き上げられます。';

console.log(myVar); // 出力: 変数は巻き上げられます。</pre>



<p>↑の例では、<code><span class="blue">myVar</span></code>変数が宣言される前に<code><span class="blue">console.log</span></code>で参照されています。通常のプログラミング言語の場合、宣言される前の変数が参照された場合にはエラーが発生しプログラムはストップすることが多いのですが、JavaScriptは変数<code><span class="blue">myVar</span></code>を巻き上げるため、最初の<code><span class="blue">console.log</span></code>は<code><span class="red">undefined</span></code>を出力する形でエラーが発生しません。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/type/">JavaScriptのデータ型：undefined</a></p>



<p>この「巻き上げ」が意図するものである場合は問題ありませんが、<code><span class="red">undefined</span></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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>そのため「var」は現代ではあまり利用されず「const」が変数宣言としてポピュラーです。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc4">var：関数スコープ</span></h3>



<p><code>var</code>で宣言した変数は関数スコープを持ちます。→関数内で宣言された変数は、その<strong>関数内部からのみアクセス可能</strong>であるということ。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/function-abc/">関数とは？</a></p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">function sayHello() {
  var greeting = 'Hello World!';
  console.log(greeting); // 出力: Hello World!
}

sayHello();
console.log(greeting); // エラー: greeting is not defined</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/function/">関数：function文</a></p>



<p>↑の例では、<code><span class="blue">greeting</span></code>変数は<code><span class="blue">sayHello</span></code>関数内で宣言されています。そのため、関数の外部から<code>greeting</code>にアクセスしようとすると、エラーが発生します。</p>



<h2 class="wp-block-heading"><span id="toc5">JavaScriptの変数宣言：let</span></h2>



<p>JavaScriptでの<strong><span class="marker-under"><code>let</code>キーワード</span></strong>の使用は、<code>var</code>に比べてより現代的な変数宣言の方法です。<code>let</code>による変数宣言は特にブロックスコープを利用することが大きな特徴。この章では、<code>let</code>の使い方について解説します。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">let message = 'こんにちは、世界！';
console.log(message); // 出力: こんにちは、世界！</pre>



<p>このコードでは、<code><span class="blue">message</span></code>という名前の変数を<code><span class="blue">let</span></code>で宣言し、文字列<code>'<span class="bold-blue">こんにちは、世界！</span>'</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>宣言する際の基本的な構文ルールとしては「var」と相違ありません。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc6">let：ブロックスコープ</span></h3>



<p><code>let</code>で宣言された変数は<strong>ブロックスコープ</strong>を持ちます。分かりやすく言い換えると、変数が<strong><span class="marker-under"><code><span class="bold-blue">{}</span></code>で囲まれたブロック内でのみアクセス可能である</span></strong>ということ。</p>



<p><code>var</code>が持つ<strong>関数スコープ</strong>（変数はその変数が宣言された関数全体からアクセス可能）とは異なり、ブロックスコープではより限定的な範囲で変数を制限することができます。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">function testScope() {
  if (true) {
    let blockScopedVar = '私はこのブロック内でのみ存在します';
    console.log(blockScopedVar); // 出力: 私はこのブロック内でのみ存在します
  }

  // console.log(blockScopedVar); // ReferenceError: blockScopedVar is not defined

}

testScope();</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/if-else/">JavaScript:if文</a></p>



<p>↑の例では、<code><span class="blue">blockScopedVar</span></code>変数は<code><span class="blue">if</span></code>文のブロック内で<code><span class="blue">let</span></code>を使って宣言されています。この変数はブロック内部からのみアクセス可能であり、ブロックの外側からは参照することができません。もしブロックの外側で<code><span class="blue">blockScopedVar</span></code>にアクセスしようとすると、<code>ReferenceError</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>let</code>のこの挙動は、プログラムの特定の部分でのみ変数を使用したい場合に有用であり、変数のスコープをより細かく管理することを可能にします。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc7">let：変数の再代入</span></h3>



<p><code>let</code>で宣言された変数も、varと同様で再代入が可能です。ただし、同じスコープ内で同じ名前の変数を再宣言することはできません。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">let number = 10;
console.log(number); // 出力: 10

number = 20;
console.log(number); // 出力: 20

let number = 30; // エラー: 'number' has already been declared</pre>



<p>最初に<code><span class="blue">number</span></code>に<code><span class="blue">10</span></code>を代入し次に<code><span class="blue">20</span></code>を再代入しています。ただし、再度同じ名称の<code><span class="blue">number</span></code>を再宣言しようとするとエラーが発生します。これはvarとは異なる挙動のためしっかりと頭に入れておきましょう。</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 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>逆に言うと、同じ「箱」を何個も作れないようになっているので、その分プログラム全体が綺麗になります。var は同じ名前でいくらでも変数を作れてしまうので、バグが大量発生→<strong><span class="marker-under">let が誕生</span></strong>という経緯です。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong><code>let</code>の使用時の注意点</strong></p>



<ul class="wp-block-list">
<li class="is-style-bottom-margin-1em has-bottom-margin"><code>let</code>で宣言された変数はブロックスコープを持つため使用する際はスコープに注意。</li>



<li class="is-style-bottom-margin-1em has-bottom-margin">再宣言はできないため、同じ名前の変数を同一スコープ内で使用する際には注意が必要。</li>



<li><code>let</code>はモダンなJavaScript開発において<code>var</code>の代替として推奨されている。</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>let</code>を使用することで、コードの可読性と保守性が向上し、特に複雑なアプリケーションを開発する際にバグを減らすことができます。</p>
</div></div>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-info-circle"><span class="tab-caption-box-label-text block-box-label-text box-label-text">varの再宣言</span></div><div class="tab-caption-box-content block-box-content box-content">
<p><code>var</code>キーワードを使用した場合、同じスコープ内で同じ名前の変数を複数回宣言することができます。これはJavaScriptが<code>var</code>宣言を許容する柔軟性の一例なのですが、この挙動は予期しないバグの原因となることがあります。<code>var</code>による再宣言が行われた場合、新しい宣言は無視され、変数の値は最後に代入された値によって決定されます。</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="">var myVar = 1;
var myVar = 2; // 再宣言可能
console.log(myVar); // 出力: 2</pre>
</div></div>



<h2 class="wp-block-heading"><span id="toc8">JavaScriptの「定数」宣言：const</span></h2>



<p>JavaScriptにおける<code>const</code>キーワードは「<strong><span class="marker-under">定数を宣言する</span></strong>」ために使用されます。<code>const</code>で宣言された変数は<strong>再代入が不可能</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">const greeting = 'こんにちは、世界！';
console.log(greeting); // 出力: こんにちは、世界！

const greeting = 10;
// greeting = 20; // TypeError: Assignment to constant variable.</pre>



<p>↑のコードでは、<code><span class="blue">greeting</span></code>という名前の定数を<code><span class="blue">const</span></code>で宣言し、文字列<code>'<span class="bold-blue">こんにちは、世界！</span>'</code>を代入しています。<code><span class="blue">const</span></code>で宣言された後は値を変更することはできません。無理やり変えようとしてもエラーが発生するだけです。</p>



<h3 class="wp-block-heading"><span id="toc9">const：ブロックスコープ</span></h3>



<p><code>const</code>で宣言された変数も<code>let</code>と同様にブロックスコープを持ちます。→変数が定義されたブロック（<code>{}</code>で囲まれた範囲）内でのみアクセス可能であるということです。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">{
  const localMessage = 'ブロック内のメッセージ';
  console.log(localMessage); // 出力: ブロック内のメッセージ
}
// console.log(localMessage); // エラー: localMessage is not defined</pre>



<p>↑の例では、<code>localMessage</code>定数はブロック内で<code>const</code>によって宣言されています。ブロックの外からはアクセスできません。</p>



<h3 class="wp-block-heading"><span id="toc10">const：再代入の禁止</span></h3>



<p>先ほども解説した通りなので、再度ご説明。<code>const</code>で宣言された変数は、再代入することができません。試みると、エラーが発生します。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">const number = 10;
console.log(number); // 出力: 10

// number = 20; // エラー: Assignment to constant variable.</pre>



<p><code>number</code>定数に<code>10</code>を代入した後、<code>20</code>に値を変更しようとすると、JavaScriptエンジンはエラーを投げます。</p>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong><code>const</code>の使用時の注意点</strong></p>



<ul class="wp-block-list">
<li><code>const</code>で宣言された変数は再代入が不可能ですが、オブジェクトや配列のプロパティは変更できます。</li>



<li>初期化時に値を割り当てる必要があります。宣言のみで初期化を行わないとエラーになります。</li>
</ul>



<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="">const settings = { volume: 10, brightness: 70 };
settings.volume = 20; // これは可能
console.log(settings); // 出力: { volume: 20, brightness: 70 }</pre>



<p><code>const</code>はプログラム内の固定値を扱う際に非常に役立ち、コードの意図を明確にすることができます。値が変更されることを期待しない変数に<code>const</code>を使用することで、プログラムの安全性と可読性を高めることができます。</p>



<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における変数宣言（var）</strong></p>



<ul class="wp-block-list">
<li><strong>関数スコープ</strong>: <code><span class="bold-blue">var</span></code>で宣言された変数は、その変数が含まれる関数内でのみ参照可能。</li>



<li><strong>再代入可能</strong>: 一度宣言された変数に対して、新たな値を代入することができる。</li>



<li><strong>巻き上げあり</strong>: 宣言前に変数を参照してもエラーにはならず、<code><span class="red">undefined</span></code>が返される。</li>



<li><strong>再宣言可能</strong>: 同じスコープ内であれば、同名の変数を再度宣言できる。</li>
</ul>



<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="">function testVar() {
  var x = 1;
  if (true) {
    var x = 2; // 同じ変数xを再宣言しています
    console.log(x); // 出力: 2
  }
  console.log(x); // 出力: 2 (関数スコープのため、ifブロック外でも値は2)
}

testVar();</pre>



<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>JavaScriptにおける変数宣言（let）</strong></p>



<ul class="wp-block-list">
<li><strong>ブロックスコープ</strong>: <code><span class="bold-blue">let</span></code>で宣言された変数は、その変数が含まれるブロック（<code><span class="blue">{}</span></code>で囲まれた範囲）内でのみ参照可能。</li>



<li><strong>再代入可能</strong>: 一度宣言された変数に対して、新たな値を代入することが可能。</li>



<li><strong>巻き上げなし</strong>: 変数は宣言されるまで参照できない（実際には巻き上げは発生するが、<code><span class="blue">Temporal Dead Zone</span></code>のため参照不可）。</li>



<li><strong><span class="marker-under">再宣言不可</span></strong>: 同じスコープ内で同名の変数を<code><span class="bold-blue">let</span></code>で再宣言することはできない。</li>
</ul>



<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="">function testLet() {
  let y = 1;
  if (true) {
    let y = 2; // ブロックスコープ内で新たにyを宣言
    console.log(y); // 出力: 2
  }
  console.log(y); // 出力: 1 (ブロックスコープのため、元のyの値は変わらない)
}

testLet();</pre>



<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>JavaScriptにおける変数宣言（const）</strong></p>



<ul class="wp-block-list">
<li><strong>ブロックスコープ</strong>: <code><span class="bold-blue">const</span></code>も<code><span class="blue">let</span></code>同様にブロックスコープを持ち、変数は宣言されたブロック内でのみ参照可能。</li>



<li><strong><span class="marker-under">再代入不可</span></strong>: 一度<code><span class="bold-blue">const</span></code>で宣言された変数は、新たな値を代入することができない。</li>



<li><strong>巻き上げなし</strong>: <code><span class="blue">let</span></code>と同じく、宣言前に変数を参照しようとするとエラーが発生する。</li>



<li><strong>再宣言不可</strong>: <code><span class="blue">let</span></code>と同様に、同じスコープ内で同名の変数を<code><span class="bold-blue">const</span></code>で再宣言することはできない。</li>



<li><strong>初期化必須</strong>: <code><span class="bold-blue">const</span></code>で変数を宣言する際は、宣言と同時に初期値を指定する必要がある。</li>
</ul>



<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="">function testConst() {
  const z = 1;
  console.log(z); // 出力: 1

  // z = 2; // エラー: "z" is read-only

  if (true) {
    const z = 2; // ブロックスコープ内で新たにzを宣言
    console.log(z); // 出力: 2
  }
  console.log(z); // 出力: 1 (ブロックスコープのため、元のzの値は変わらない)
}

testConst();


const obj = { key: 'value' };
console.log(obj.key); // 出力: value

obj.key = 'newValue'; // オブジェクトのプロパティは変更可能
console.log(obj.key); // 出力: newValue

// obj = {}; // エラー: "obj" is read-only</pre>
</div>



<div class="blank-box sticky">
<div class="speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"><img loading="lazy" decoding="async" class="speech-icon-image" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" width="385" height="424" /></figure>
</div>
<div class="speech-balloon">
<p><strong>スキルアップを手軽に！<br />
<span style="font-size: 20px;">話題の<span style="color: #ff6600;">サブスク型</span>プログラミングスクールをご紹介。</span></strong></p>
</div>
</div>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3143041&amp;p_id=3614&amp;pc_id=8760&amp;pl_id=50980">SAMURAI TERAKOYA</a><img loading="lazy" decoding="async" style="border: none;" src="//i.moshimo.com/af/i/impression?a_id=3143041&amp;p_id=3614&amp;pc_id=8760&amp;pl_id=50980" width="1" height="1" /></strong></span><br />
<span class="marker-under"><strong>月額2,980円</strong></span>から始める－入会金不要/途中解約自由。<span class="marker"><strong>無料体験プラン</strong></span>からスタート可能！​<br />
<strong>飲み会1回分以下の料金</strong>で継続的なスキルアップを。</p>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3134186&amp;p_id=3878&amp;pc_id=9624&amp;pl_id=53722">Freeks(フリークス)</a><br />
<img loading="lazy" decoding="async" style="border: none;" src="//i.moshimo.com/af/i/impression?a_id=3134186&amp;p_id=3878&amp;pc_id=9624&amp;pl_id=53722" width="1" height="1" /></strong><span style="font-size: 16px;">月額10,780円でJavaScript、Pythonなどのカリキュラムが</span></span>学び放題<span style="font-size: 18px;"><span style="font-size: 16px;">。<br />
<span class="marker-under"><strong>質問し放題</strong></span>＆<strong>転職サポート制度</strong>あり。</span></span></p>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=4052432&amp;p_id=3249&amp;pc_id=7671&amp;pl_id=42375">ウズウズカレッジ/CCNAコース用</a></strong></span><br />
月額33,000円(税込)〜<strong>インフラエンジニア</strong>の登竜門「CCNA」取得を目指す。<br />
コース受講→<strong><span class="marker-under">転職成功で【実質全額無料】</span></strong>（最大240,000円）</p>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JavaScript：配列（Array）とは？初心者向けに３分でわかりやすく解説</title>
		<link>https://it-biz.online/web-design/array/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 18 Feb 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=3714</guid>

					<description><![CDATA[配列とは、複数の値を１つの変数に格納できるデータ構造の１つ（複数の変数を１つの「箱」に押し込むイメージ）です。JavaScriptでは、この配列を用いることでリスト形式のデータを扱うことが可能になります。 参考　Java [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>配列とは、<strong><span class="marker-under">複数の値を１つの変数に格納</span></strong>できるデータ構造の１つ（複数の変数を１つの「箱」に押し込むイメージ）です。JavaScriptでは、この配列を用いることでリスト形式のデータを扱うことが可能になります。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/var-let/">JavaScriptの変数の基本</a></p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="298" src="https://it-biz.online/wp-content/uploads/2020/02/image-20-1024x298.png" alt="JavaScript 配列とは" class="wp-image-3717" style="width:840px;height:auto" srcset="https://it-biz.online/wp-content/uploads/2020/02/image-20-1024x298.png 1024w, https://it-biz.online/wp-content/uploads/2020/02/image-20-300x87.png 300w, https://it-biz.online/wp-content/uploads/2020/02/image-20-500x146.png 500w, https://it-biz.online/wp-content/uploads/2020/02/image-20-768x224.png 768w, https://it-biz.online/wp-content/uploads/2020/02/image-20-800x233.png 800w, https://it-biz.online/wp-content/uploads/2020/02/image-20.png 1105w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">図1：JavaScript－配列とは</figcaption></figure>



<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 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><strong>配列（Array）</strong>は複数のデータを１つの変数名で管理するためのデータ構造。そのため、変数だけでは表現できない複数の値のセット（都道府県の一覧や、西暦の一覧とか）を表現することが可能になります。</p>
</div></div>



<p>このページでは、プログラミング初心者向けでも理解できるよう「<strong>配列とは何か</strong>」という基本的な内容についても補足しつつ、JavaScriptでの実践的な利用方法をサンプルコード付きでわかりやすく解説します。</p>



<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>



<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="">// 配列の宣言
let fruits = ["Apple", "Banana", "Cherry"]; // 配列リテラルを使用
let numbers = new Array(1, 2, 3); // Array コンストラクタを使用

// 配列へのアクセス
console.log(fruits[0]); // "Apple"
console.log(numbers.length); // 3

// 配列の操作
// 追加
fruits.push("Durian"); // 末尾に追加
fruits.unshift("Strawberry"); // 先頭に追加

// 削除
fruits.pop(); // 末尾の要素を削除
fruits.shift(); // 先頭の要素を削除

// 検索
let index = fruits.indexOf("Banana"); // "Banana"のインデックスを検索
let hasApple = fruits.includes("Apple"); // "Apple"が含まれているか確認

// ソート
numbers.sort((a, b) => a - b); // 昇順でソート

// 変換
let doubledNumbers = numbers.map(number => number * 2); // 各要素を2倍にする

// 結合
let allFruits = fruits.concat(["Mango", "Pineapple"]); // 他の配列と結合

// 分割
let firstTwoFruits = fruits.slice(0, 2); // 最初の2つの要素を抽出

// 結果を表示
console.log(fruits);
console.log(numbers);
console.log(doubledNumbers);
console.log(allFruits);
console.log(firstTwoFruits);</pre>
</div>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box not-nested-style cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="tab-caption-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>JavaScriptで配列を定義・操作する方法
<ul class="wp-block-list">
<li>配列の宣言・初期化</li>



<li>配列の要素を取得</li>



<li>配列への要素追加（push）・削除（pop）</li>
</ul>
</li>
</ul>
</div>
</div></div>



<p>Webエンジニア/Webデザイナーを目指す方であれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識の１つ</span></strong>です。是非最後までご覧ください。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/js-rule/">【JavaScript入門】基本文法/基礎文法を5分で</a></p>




  <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">そもそも配列とは何か？</a></li><li><a href="#toc2" tabindex="0">JavaScript：配列の宣言</a><ol><li><a href="#toc3" tabindex="0">パターン1：配列リテラルの使用</a></li><li><a href="#toc4" tabindex="0">パターン2：Array コンストラクタの使用</a></li></ol></li><li><a href="#toc5" tabindex="0">JavaScript：配列へのアクセス</a><ol><li><a href="#toc6" tabindex="0">配列の長さとアクセス</a></li><li><a href="#toc7" tabindex="0">不正なインデックスへのアクセス</a></li></ol></li><li><a href="#toc8" tabindex="0">JavaScript：配列の操作</a><ol><li><a href="#toc9" tabindex="0">配列への追加と削除</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><li><a href="#toc13" tabindex="0">配列の結合と分割</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">そもそも配列とは何か？</span></h2>



<p>配列とは簡単に言うと「<strong>物事を一列に並べたもの</strong>」です。日常生活での例を挙げるなら、本棚に並べられた本の列や、スーパーマーケットのレジに並ぶ人々の列が分かりやすい例かもしれません。これらの例は、本や人がそれぞれ１つ１つの<strong>要素</strong>として<strong>配列</strong>に並んでいます。</p>



<p>JavaScriptや他のプログラミング言語における配列もこの概念を踏襲しています。配列は、数字、文字列、オブジェクトなど、異なる<a href="https://it-biz.online/web-design/type/">データ型</a>の要素を含むことができる箱のようなもの。配列を使うことで、複数の要素を一つの変数に格納し、それらを一括で管理することが可能になります。</p>



<p>例えば、5人の生徒の名前を管理する場合、各生徒の名前を別々の変数に保存する代わりに、配列を使用して１つの変数にすべての名前を格納することができます。この場合、配列を使うことで、コードをシンプルに保ちながら効率的にデータを扱うことができます。</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="">let 生徒の名前 = ["佐藤", "鈴木", "高橋", "田中", "伊藤"];</pre>



<h2 class="wp-block-heading"><span id="toc2">JavaScript：配列の宣言</span></h2>



<p>JavaScriptで配列を作成する方法はいくつかありますが、主に以下の2つの方法が最も一般的に使用されます。</p>



<ol class="wp-block-list">
<li>配列リテラルの使用　<strong>←こちらが主流</strong></li>



<li>Array コンストラクタの使用</li>
</ol>



<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 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>



<h3 class="wp-block-heading"><span id="toc3">パターン1：配列リテラルの使用</span></h3>



<p>配列リテラルとは<code><span class="bold-blue"><span class="fz-24px">[]</span></span></code>のこと。<code><span class="bold-blue"><span class="fz-24px">[]</span></span></code>内に<strong>要素を列挙する</strong>ことで配列を直接定義することができます。これはJavaScriptにおける配列を作成する最も簡単で読みやすい方法で現在広く一般的に用いられている方法です。</p>



<p>配列リテラルを使用することで、初期値を持つ配列を即座に作成できます。</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="">let numbers = [1, 2, 3, 4, 5];
let fruits = ["Apple", "Banana", "Cherry"];</pre>



<p><a href="https://it-biz.online/web-design/var-let/">letキーワード</a>を利用し変数と同じように宣言することで、例えば↑では「1」「2」「3」「4」「5」という５つの値を持つ「numbers」という配列を宣言しています。</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="">let mixedArray = [1, "Hello", true, { name: "John" }, [1, 2, 3]];</pre>



<p>↑の<code><span class="bold-blue">mixedArray</span></code>は、JavaScriptにおける配列の柔軟性と動的な特徴を示す１つの例で、<strong><span class="marker-under">配列が異なるデータ型の要素を同時に保持できる</span></strong>ことを示しており、以下のような異なる型の5つの要素を含んでいます。</p>



<ol class="wp-block-list">
<li>数値 (<code>1</code>)</li>



<li>文字列 (<code>"Hello"</code>)</li>



<li>ブーリアン (<code>true</code>)</li>



<li>オブジェクト (<code>{ name: "John" }</code>)</li>



<li>配列 (<code>[1, 2, 3]</code>)</li>
</ol>



<p>数値や文字列といった基本的な<a href="https://it-biz.online/web-design/type/">JavaScriptのデータ型</a>はもちろん、<a href="https://it-biz.online/web-design/object-2/">オブジェクト</a>やさらに別の配列をネストすることもできます。JavaScriptの配列は非常に柔軟に扱うことができ、異なる型の要素を同一の配列内に混在させることができるため、複雑なデータ構造を容易に構築することができます。</p>



<p>あまり複雑な構造にしてしまうとかえってコード全体が読みにくくなってしまうという欠点はありますが、シーンに応じて自由なデータ構造を扱えるというのは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 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>



<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="">let emptyArray = [];</pre>



<p>空の配列は、初めは何も持っていないけれど、後からデータが集まってくるような状況で利用します。買い物に行くときの買い物かごのようなもので、店に入ったときは空ですが、店内を回りながら必要なものをかごに入れていく、そんな感じです。</p>



<h3 class="wp-block-heading"><span id="toc4">パターン2：Array コンストラクタの使用</span></h3>



<p><code><span class="blue">Array</span></code> コンストラクタを使用して配列を作成する方法もあります。<code><span class="bold-blue">new Array()</span></code>により、新しい配列インスタンスが生成されます。この方法は、特定の長さの配列を事前に確保したい場合や、コンストラクタに渡した単一の数値引数によって配列のサイズを指定したい場合に便利です。</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="">let arrayWithSize = new Array(5); // 長さが5の空の配列を作成
let arrayWithElements = new Array("Apple", "Banana", "Cherry");</pre>



<p>ただし、この方法には以下のような注意点があります。</p>



<p class="has-text-align-center"><span class="badge-red">注意点１</span>　<strong>単一数値引数の挙動</strong></p>



<p><code><span class="blue">Array</span></code> コンストラクタに単一の数値引数を渡すと、その数値に応じた長さを持つ<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="">let array = new Array(5);
console.log(array); // [ &lt;5 empty items> ]
console.log(array.length); // 5</pre>



<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 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>この例では、長さが5であるが内容が未定義の要素を持つ配列が作成されます。配列に実際のデータが含まれていないため、この特性は混乱を招く可能性があります。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-red">注意点２</span>　<strong>数値以外または複数の引数</strong></p>



<p><code>Array</code> コンストラクタに数値以外の引数、または複数の引数を渡すと、それらの引数を要素とする配列が生成されます。</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="">let arrayWithStrings = new Array("Apple", "Banana", "Cherry");
console.log(arrayWithStrings); // ["Apple", "Banana", "Cherry"]</pre>



<p><code>Array</code> コンストラクタのこれらの特性を理解し、それぞれのケースにおいて最適な方法を選択することが、効率的かつバグの少ないコードを書くための鍵です。</p>



<h2 class="wp-block-heading"><span id="toc5">JavaScript：配列へのアクセス</span></h2>



<p>配列の特定の要素にアクセス（＝参照）するには、配列名の後に<code><span class="bold-blue">[インデックス]</span></code>を記述します。インデックスは0から始まるため、配列の最初の要素にアクセスするには<code>[0]</code>を、2番目の要素にアクセスするには<code>[1]</code>を使用します。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="298" src="https://it-biz.online/wp-content/uploads/2020/02/image-20-1024x298.png" alt="JavaScript 配列とは" class="wp-image-3717" style="width:840px;height:auto" srcset="https://it-biz.online/wp-content/uploads/2020/02/image-20-1024x298.png 1024w, https://it-biz.online/wp-content/uploads/2020/02/image-20-300x87.png 300w, https://it-biz.online/wp-content/uploads/2020/02/image-20-500x146.png 500w, https://it-biz.online/wp-content/uploads/2020/02/image-20-768x224.png 768w, https://it-biz.online/wp-content/uploads/2020/02/image-20-800x233.png 800w, https://it-biz.online/wp-content/uploads/2020/02/image-20.png 1105w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">（再掲）：JavaScript－配列とは</figcaption></figure>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-box"><div class="label-box-label block-box-label box-label fab-exclamation-circle"><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>要素番号（インデックス）は、<strong>０番から始まる</strong>という点に注意！！</p>
</div></div>



<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="">let fruits = ["Apple", "Banana", "Cherry"];

console.log(fruits[0]); // 最初の要素にアクセス: "Apple"
console.log(fruits[1]); // 2番目の要素にアクセス: "Banana"</pre>



<p>配列の特定の要素を変更する場合も、同様にインデックスを使用します。指定したインデックスの位置に新しい値を代入することで、元の値を上書きします。</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="">let fruits = ["Apple", "Banana", "Cherry"];

fruits[2] = "Durian"; // 3番目の要素を"Durian"に変更
console.log(fruits); // ["Apple", "Banana", "Durian"]</pre>



<h3 class="wp-block-heading"><span id="toc6">配列の長さとアクセス</span></h3>



<p>JavaScriptの配列は動的な長さを持ちます。<code><span class="bold-blue">length</span></code>プロパティを使用して、配列の長さを取得することができます。これを利用して、配列の最後の要素にアクセスしたり、ループで配列をイテレートする際に便利です。</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="">console.log(fruits.length); // 配列の長さを取得: 3
let lastFruit = fruits[fruits.length - 1];
console.log(lastFruit); // 配列の最後の要素にアクセス: "Durian"</pre>



<h3 class="wp-block-heading"><span id="toc7">不正なインデックスへのアクセス</span></h3>



<p>存在しないインデックスへのアクセスを試みると、<code>undefined</code>が返されます。これは、配列の範囲外の要素にアクセスしようとしたときのJavaScriptの挙動です。</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="">console.log(fruits[5]); // 存在しない要素にアクセス: undefined</pre>



<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 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>まとめると、JavaScriptで配列へアクセスするには<strong>インデックス</strong>を用いるということ。インデックスを適切に利用することで、任意の位置にある要素を効率的に読み書きすることが可能になります。配列の動的な性質を理解し、<code>length</code>プロパティや適切なインデックスを使いこなすことで、配列の操作がより柔軟になります。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc8">JavaScript：配列の操作</span></h2>



<p>配列を操作するための方法は多岐にわたります。（データの追加、削除、検索、ソート、変換など）</p>



<p>ここでは、より詳細にいくつかの主要な操作方法について解説します。</p>



<h3 class="wp-block-heading"><span id="toc9">配列への追加と削除</span></h3>



<p class="has-text-align-center"><span class="badge-blue">ポイント１</span>　<strong>push()</strong></p>



<p>配列の末尾に１つ以上の要素を追加し、新しい長さを返します。</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="">let numbers = [1, 2, 3];
numbers.push(4); // 配列の末尾に4を追加
console.log(numbers); // [1, 2, 3, 4]</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント２</span>　<strong>pop()</strong></p>



<p>配列の末尾から要素を削除し、その要素を返します。</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="">let numbers = [1, 2, 3];
numbers.push(4); // 配列の末尾に4を追加
console.log(numbers); // [1, 2, 3, 4]

numbers.pop(); // 末尾の要素4を削除
console.log(numbers); // [1, 2, 3]</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント３</span>　<strong>unshift()</strong></p>



<p>配列の先頭に１つ以上の要素を追加し、新しい長さを返します。</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="">let numbers = [1, 2, 3];
numbers.push(4); // 配列の末尾に4を追加
console.log(numbers); // [1, 2, 3, 4]

numbers.pop(); // 末尾の要素4を削除
console.log(numbers); // [1, 2, 3]

numbers.unshift(0); // 配列の先頭に0を追加
console.log(numbers); // [0, 1, 2, 3]</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント４</span>　<strong>shift()</strong></p>



<p class="has-text-align-left">配列の先頭から要素を削除し、その要素を返します。</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="">let numbers = [1, 2, 3];
numbers.push(4); // 配列の末尾に4を追加
console.log(numbers); // [1, 2, 3, 4]

numbers.pop(); // 末尾の要素4を削除
console.log(numbers); // [1, 2, 3]

numbers.unshift(0); // 配列の先頭に0を追加
console.log(numbers); // [0, 1, 2, 3]

numbers.shift(); // 先頭の要素0を削除
console.log(numbers); // [1, 2, 3]</pre>



<h3 class="wp-block-heading"><span id="toc10">配列の要素検索</span></h3>



<p class="has-text-align-center"><span class="badge-blue">ポイント１</span>　<strong>indexOf()</strong></p>



<p>指定された要素を配列内で検索し、見つかった場合はそのインデックスを、見つからない場合は-1を返します。</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="">let numbers = [1, 2, 3];

let index = numbers.indexOf(2);
console.log(index); // 1</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント２</span>　<strong>find()</strong></p>



<p>テスト関数に合格する最初の要素の値を返します。該当する要素がなければ<code>undefined</code>を返します。</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="">let numbers = [1, 2, 3];

let index = numbers.indexOf(2);
console.log(index); // 1

let found = numbers.find(element => element > 2);
console.log(found); // 3</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント３</span>　<strong>includes()</strong></p>



<p>配列が特定の要素を含んでいるかどうかを確認します。含んでいれば<code>true</code>、そうでなければ<code>false</code>を返します。</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="">let numbers = [1, 2, 3];

let index = numbers.indexOf(2);
console.log(index); // 1

let found = numbers.find(element => element > 2);
console.log(found); // 3

console.log(numbers.includes(2)); // true</pre>



<h3 class="wp-block-heading"><span id="toc11">配列のソート</span></h3>



<p class="has-text-align-center"><span class="badge-blue">ポイント１</span>　<strong>sort()</strong></p>



<p>配列の要素をその場でソートし、ソートされた配列を返します。デフォルトでは文字列としてソートされますが、比較関数を提供することで数値のソートなどカスタマイズできます。</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="">let unsortedNumbers = [4, 1, 3, 2];
unsortedNumbers.sort((a, b) => a - b); // 数値の昇順でソート
console.log(unsortedNumbers); // [1, 2, 3, 4]</pre>



<h3 class="wp-block-heading"><span id="toc12">配列の変換</span></h3>



<p class="has-text-align-center"><span class="badge-blue">ポイント１</span>　<strong>map()</strong></p>



<p>配列内の全ての要素に対して与えられた関数を呼び出し、その結果からなる新しい配列を生成します。</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="">let numbers = [1, 2, 3];

let doubled = numbers.map(number => number * 2);
console.log(doubled); // [2, 4, 6]</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント２</span>　<strong>filter()</strong></p>



<p>テスト関数を満たすすべての要素からなる新しい配列を生成します。</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="">let numbers = [1, 2, 3];

let filtered = numbers.filter(number => number > 1);
console.log(filtered); // [2, 3]</pre>



<h3 class="wp-block-heading"><span id="toc13">配列の結合と分割</span></h3>



<p class="has-text-align-center"><span class="badge-blue">ポイント１</span>　<strong>concat()</strong></p>



<p>１つまたは複数の配列を結合して、新しい配列を作成します。</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="">let numbers = [1, 2, 3];

let moreNumbers = [4, 5];
let combined = numbers.concat(moreNumbers);
console.log(combined); // [1, 2, 3, 4, 5]</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント２</span>　<strong>slice()</strong></p>



<p>配列の一部を抜き出して新しい配列オブジェクトを返します。元の配列は変更されません。</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="">let numbers = [1, 2, 3];

let sliced = numbers.slice(1, 3); // index 1から3までの要素を抽出（3は含まれない）
console.log(sliced); // [2, 3]</pre>



<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 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 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>



<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="">// 配列の宣言
let fruits = ["Apple", "Banana", "Cherry"]; // 配列リテラルを使用
let numbers = new Array(1, 2, 3); // Array コンストラクタを使用

// 配列へのアクセス
console.log(fruits[0]); // "Apple"
console.log(numbers.length); // 3

// 配列の操作
// 追加
fruits.push("Durian"); // 末尾に追加
fruits.unshift("Strawberry"); // 先頭に追加

// 削除
fruits.pop(); // 末尾の要素を削除
fruits.shift(); // 先頭の要素を削除

// 検索
let index = fruits.indexOf("Banana"); // "Banana"のインデックスを検索
let hasApple = fruits.includes("Apple"); // "Apple"が含まれているか確認

// ソート
numbers.sort((a, b) => a - b); // 昇順でソート

// 変換
let doubledNumbers = numbers.map(number => number * 2); // 各要素を2倍にする

// 結合
let allFruits = fruits.concat(["Mango", "Pineapple"]); // 他の配列と結合

// 分割
let firstTwoFruits = fruits.slice(0, 2); // 最初の2つの要素を抽出

// 結果を表示
console.log(fruits);
console.log(numbers);
console.log(doubledNumbers);
console.log(allFruits);
console.log(firstTwoFruits);</pre>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【JavaScript】データ型の基本と動的型付けの仕組みを１分で</title>
		<link>https://it-biz.online/web-design/type/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Mon, 27 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=3396</guid>

					<description><![CDATA[JavaScriptを学ぶ上で最初に理解するべき重要なテーマの１つが「データ型」です。 参考　データ型とは？ データ型とは、変数や値が持つことができる「種類」を指します。数値、文字列、ブーリアン（true/false）と [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>JavaScriptを学ぶ上で最初に理解するべき重要なテーマの１つが「<strong>データ型</strong>」です。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/data_type/">データ型とは？</a></p>



<p>データ型とは、変数や値が持つことができる「種類」を指します。数値、文字列、ブーリアン（true/false）といった基本的なデータ型から、より複雑なオブジェクトや関数に至るまで、JavaScriptでは多様なデータ型を扱うことができます。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="750" height="292" src="https://it-biz.online/wp-content/uploads/2024/02/image-2.png" alt="JavaScript,データ型" class="wp-image-8850" srcset="https://it-biz.online/wp-content/uploads/2024/02/image-2.png 750w, https://it-biz.online/wp-content/uploads/2024/02/image-2-500x195.png 500w, https://it-biz.online/wp-content/uploads/2024/02/image-2-300x117.png 300w" sizes="(max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">図1：データ型とは</figcaption></figure>



<p>このページでは、JavaScriptの基本的なデータ型とそれぞれの型がどのように使われるのか、また<strong>型変換</strong>および<strong>動的型付け</strong>という概念ついても触れていきます。JavaScriptのデータ型を理解することは、より効率的にコードを書き、エラーを減らすための第一歩。この記事を通して、JavaScriptの基礎を固めておきましょう！</p>



<figure class="wp-block-table aligncenter"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>データ型</th><th>説明</th></tr></thead><tbody><tr><td><strong>数値 (Number)</strong></td><td>整数や浮動小数点数など、数学的な数値を表す。</td></tr><tr><td><strong>文字列 (String)</strong></td><td>テキスト。シングルクォート、ダブルクォート、バックティックで囲む。</td></tr><tr><td><strong>真偽値 (Boolean)</strong></td><td><code><span class="blue">true</span></code> または <code><span class="blue">false</span></code> のいずれか。条件判断で用いられる。</td></tr><tr><td><strong>未定義 (undefined)</strong></td><td>値が割り当てられていない変数の状態。</td></tr><tr><td><strong>空の値 (null)</strong></td><td>「何もない」状態を意図的に表すために使用。</td></tr><tr><td><strong>シンボル (Symbol)</strong></td><td>ES6で導入された、一意で不変の値を作成するためのデータ型。</td></tr></tbody></table></div><figcaption class="wp-element-caption">表1：JavaScriptにおける基本のデータ型</figcaption></figure>



<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 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>上記のデータ型の制限と取り扱いを１個１個丁寧に解説します。まずは、JavaScriptの特徴の１つ「<strong>動的型付け</strong>」の概念から解説を始めます。</p>
</div></div>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/html-css-javascript/">HTML CSS JavaScriptの違い・役割を３分で解説</a></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">JavaScriptの「動的型付け」</a><ol><li><a href="#toc2" tabindex="0">動的型付けのメリット</a></li><li><a href="#toc3" tabindex="0">動的型付けのデメリット</a></li></ol></li><li><a href="#toc4" tabindex="0">JavaScriptのデータ型</a><ol><li><a href="#toc5" tabindex="0">数値 (Number)</a></li><li><a href="#toc6" tabindex="0">文字列：String</a></li><li><a href="#toc7" tabindex="0">論理型：Boolean</a></li><li><a href="#toc8" tabindex="0">null</a></li><li><a href="#toc9" tabindex="0">undefined</a></li><li><a href="#toc10" tabindex="0">Symbol</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">JavaScriptの「動的型付け」</span></h2>



<p>JavaScriptは<strong>動的型付け言語</strong>に分類されます。動的型付けとはその名の通りプログラムの実行過程で「<strong><span class="marker-under">自動的にデータ型が設定される</span></strong>」ということ。</p>



<p>JavaScriptエンジンは、<strong>コードの実行時に変数の型を推測して決定</strong>します。例えば、数値を代入するとその変数は自動的に数値型に。後にその変数に文字列を代入すれば、型は文字列型に変わります。動的型付けを行わないプログラミング言語では変数の宣言時に必ずデータ型を指定する必要がありますが、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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>これは数値を入れる変数（＝箱だよ）！というのが一般的だったりするのですが、JavaScriptでは「あいうえお」が入っているということは文字列（string）だな！というように判断するということです。</p>
</div></div>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/var-let/">let（変数の宣言）</a></p>



<p>この特性はJavaScriptの柔軟性の１つで、開発者がより速くコードを書けるようにする一方で、型関連のエラーを引き起こしやすくしてします。本当は「10」という値を文字列として扱いたいのに自動的に数値として定義してしまい後からバグになってしまう・・・というような感じですね。</p>



<p>ちなみに、JavaScriptのこの性質を回避し「自分で明示的にデータ型を指定する」ように発展させた言語に<a href="https://it-biz.online/web-design/typescript-abc/">TypeScript</a>というものがあります。ある意味で１つの言語を作り出してしまうほど、動的型付けは便利でやっかいな性質を持つということ。</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 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>「<strong>動的型付け</strong>」の理解はそれだけ重要なんだな！と理解しましょう！</p>
</div></div>



<p>早速JavaScriptの動的型付けを理解するために、いくつかのサンプルコードを通じて実例をお見せします。↓の例を確認しながら、JavaScriptがどのように変数の型を実行時に決定するか？に注目してください。</p>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">let data = 42; // 最初は数値型
console.log(typeof data); // 出力: "number"

data = "JavaScript"; // 同じ変数に文字列を代入
console.log(typeof data); // 出力: "string"</pre>



<p>↑の例では、<code><span class="blue">data</span></code> 変数が最初に数値型(<code><span class="blue">number</span></code>)であることを <code><span class="blue">typeof</span></code> 演算子で確認しています。その後、同じ変数に文字列を代入しており、<code><span class="blue">typeof</span></code> で確認すると、変数の型が動的に文字列型(<code><span class="blue">string</span></code>)に変更されていることがわかります。</p>



<p>つまり、42 は数値なのでJavaScriptではその変数を「数値型」として扱っていたが、後から「"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 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>このように、<strong><span class="marker-under">JavaScriptでは自動的に変数のデータ型を決定・変換</span></strong>します。</p>
</div></div>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box not-nested-style cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-lightbulb"><span class="tab-caption-box-label-text block-box-label-text box-label-text"><code>typeof</code>演算子の使い方</span></div><div class="tab-caption-box-content block-box-content box-content">
<p><code>typeof</code>演算子は<strong><span class="marker-under">変数や値の型を調べる</span></strong>ために使用されます。プログラムが期待するデータ型と実際のデータ型を確認する際に非常に便利で、数値、文字列、オブジェクトなど、JavaScriptのさまざまなデータ型を調べることができます。</p>



<p>基本的な使い方は以下の通り。</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="">let example = "こんにちは";
console.log(typeof example); // 出力: "string"</pre>
</div></div>



<p class="has-text-align-center"><span class="badge-blue">サンプルコード</span>　<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="">let result = 5 + 7; // 数値同士の加算
console.log(result); // 出力: 12

result = "5" + 7; // 文字列と数値の加算（連結）
console.log(result); // 出力: "57"

result = "5" * "2"; // 文字列の乗算（数値に変換されて計算）
console.log(result); // 出力: 10</pre>



<p>↑の例では、JavaScriptがどのように異なる型の値を扱うかを示しています。注目すべきポイントは、文字列と数値を<code>+</code>演算子で結合すると、数値が文字列に変換され結果として文字列が返される点です。また、<code>*</code>演算子を使用した場合、文字列が数値に暗黙的に変換され、計算が実行される点に注目しましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">動的型付けのメリット</span></h3>



<p>動的型付けのメリットは、データ型を強く意識することなくコーディングが可能になるという点です。「そもそもデータ型って何？」というのをそこまで理解していなくても<strong>感覚的に</strong>コーディングすることが可能になることが１番のメリットだと言えます。</p>



<ol class="wp-block-list">
<li><strong>柔軟性</strong>: 変数に異なる型のデータを自由に代入できるため、開発が迅速に行えます。</li>



<li><strong>簡潔さ</strong>: 型宣言が不要なため、コードが簡潔になります。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc3">動的型付けのデメリット</span></h3>



<p>逆に動的型付けのデメリットは、自動的にデータ型が決定される故に「<strong>意図しないデータ型変換が行われてしまう</strong>」という点。本当は「001」という値を文字列として扱いたかったが、数値型に変換され「1」として演算されてしまうようなバグが発生するイメージです。</p>



<ol class="wp-block-list">
<li><strong>型安全性の欠如</strong>: コンパイル時ではなく、実行時に型エラーが発生する可能性があるため、バグを見つけにくくなる場合があります。</li>



<li><strong>パフォーマンス</strong>: 型チェックが実行時に行われるため、パフォーマンスに影響を与えることがあります。</li>
</ol>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>JavaScriptの動的型付けは変数がプログラム実行中にさまざまな型のデータを保持できる柔軟性を提供します。しかしこの柔軟性は型関連のバグを引き起こす可能性もあるため、開発者は型変換の仕組みと、それに伴う挙動を正確に理解しておく必要があります。上記のサンプルコードを参考に、動的型付けの概念を探索し、JavaScriptでの効率的なコーディングに活かしてください。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc4">JavaScriptのデータ型</span></h2>



<p>JavaScriptでは基本となるデータ型が6つあります。この６つのデータ型をしっかり理解し適切に使い分けることでJavaScriptのコーディングスキルが徐々に向上していくことでしょう。</p>



<figure class="wp-block-table aligncenter"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>データ型</th><th>説明</th></tr></thead><tbody><tr><td>数値 (Number)</td><td>整数や浮動小数点数など、数学的な数値を表します。</td></tr><tr><td>文字列 (String)</td><td>テキストデータを表し、シングルクォート、ダブルクォート、バックティックで囲みます。</td></tr><tr><td>真偽値 (Boolean)</td><td><code>true</code> または <code>false</code> のいずれかを持ち、条件判断に使われます。</td></tr><tr><td>未定義 (undefined)</td><td>値が割り当てられていない変数の状態を表します。</td></tr><tr><td>空の値 (null)</td><td>「何もない」状態を意図的に表すために使用します。</td></tr><tr><td>シンボル (Symbol)</td><td>ES6で導入された、一意で不変の値を作成するためのデータ型です。</td></tr></tbody></table></div><figcaption class="wp-element-caption">表1：JavaScriptにおける基本のデータ型</figcaption></figure>



<p>１つ１つサンプルコード付きでわかりやすく解説していきます。</p>



<h3 class="wp-block-heading"><span id="toc5">数値 (Number)</span></h3>



<p>JavaScriptにおける数値(<code>Number</code>)型は、<strong>整数や浮動小数点数を含む幅広い数値を扱うことができるデータ型</strong>です。数値型は演算、金額の計算、測定値の処理など、多岐にわたる用途で使用されます。JavaScriptの数値は内部的には64ビットの浮動小数点形式で表現され、非常に大きな数値や非常に小さな数値の精密な表現が可能です。ここでは、数値型の特徴と使用方法について詳しく見ていきましょう。</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="">let decimal = 42; // 10進数の整数
let hex = 0x2A; // 16進数の整数（42と等価）
let octal = 0o52; // 8進数の整数（42と等価）
let binary = 0b101010; // 2進数の整数（42と等価）
let floatingPoint = 3.14; // 浮動小数点数
let bigNumber = 2.99792458e8; // 光速（m/s）を指数表記で

console.log(decimal, hex, octal, binary, floatingPoint, bigNumber);

// 特別な数値の例
console.log(1 / 0); // Infinity
console.log(-1 / 0); // -Infinity
console.log("not a number" / 2); // NaN</pre>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong>数値の表現</strong></p>



<ol class="wp-block-list">
<li><strong>整数</strong>
<ul class="wp-block-list">
<li>10進数、16進数（<code>0x</code>で始まる）、8進数（<code>0o</code>で始まる）、2進数（<code>0b</code>で始まる）のリテラルを使用して表現可能。</li>
</ul>
</li>



<li><strong>浮動小数点数</strong>
<ul class="wp-block-list">
<li>小数点を含む数値や、指数表記（<code>e</code>または<code>E</code>を使用）で表される数値。</li>
</ul>
</li>
</ol>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong>特別な数値</strong></p>



<ol class="wp-block-list">
<li><strong>Infinity</strong>
<ul class="wp-block-list">
<li>無限大を表す特別な値で、何かを0で割ったときなどに発生する。</li>
</ul>
</li>



<li><strong>-Infinity</strong>
<ul class="wp-block-list">
<li>負の無限大を表す。</li>
</ul>
</li>



<li><strong>NaN (Not a Number)</strong>
<ul class="wp-block-list">
<li>「数値ではない」という特別な値で、数学的に無効な操作の結果として返される。</li>
</ul>
</li>
</ol>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>JavaScriptの数値型は、その柔軟性と包括性により、さまざまな数値計算を可能にしますが、特別な数値や精度の問題に注意が必要です。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc6">文字列：String</span></h3>



<p>文字列(<code>String</code>)型は、テキストデータを扱うためのデータ型です。文字列型は、文字の列（例: "こんにちは"、"Hello, world!"）を表現し、Webページ上のテキスト表示、ユーザー入力の処理、テキストベースのデータの操作など、多くの場面で使われます。文字列は、シングルクォート(<code>'</code>)、ダブルクォート(<code>"</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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><strong>シングルクォート</strong>と<strong>ダブルクォート</strong>は、基本的に同じように文字列を定義しますが、テキスト内でクォートを使用したい場合は、異なる種類のクォートを外側と内側で使い分けることが一般的です。</p>
</div></div>



<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="">let singleQuoted = 'テキスト';
let doubleQuoted = "テキスト";
let withQuotes = 'シングルクォート\' とダブルクォート"';
console.log(singleQuoted, doubleQuoted, withQuotes);</pre>



<p>ダブルクォーテーションでも、シングルクォーテーションでも意味は全く同じです。<strong><span class="marker-under">ただし、両者を併用することはできません。</span></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="">let strNG = "Hello World!!';　//"と`は併用できません。</pre>



<h4 class="wp-block-heading">文字列の操作</h4>



<p>JavaScriptの<code>String</code>オブジェクトには、文字列を操作するための多くのメソッドが用意されています→テキストの検索、置換、分割、結合などが容易に行えます。</p>



<ul class="wp-block-list">
<li><strong>検索</strong>
<ul class="wp-block-list">
<li><code>indexOf()</code>, <code>includes()</code> などを使用して、特定の文字列が含まれているかを検索。</li>
</ul>
</li>
</ul>



<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="">let sentence = "Hello, JavaScript!";
let searchWord = "Java";

// 文字列が含まれるか確認
console.log(sentence.includes(searchWord)); // 出力: true

// 特定の文字列が最初に現れる位置を検索
console.log(sentence.indexOf("Java")); // 出力: 7
console.log(sentence.indexOf("python")); // 存在しない場合は-1を返す 出力: -1</pre>



<ul class="wp-block-list">
<li><strong>置換</strong>
<ul class="wp-block-list">
<li><code>replace()</code> を使用して、文字列内の一部を置き換える。</li>
</ul>
</li>
</ul>



<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="">let oldString = "Hello, JavaScript!";
let newString = oldString.replace("JavaScript", "World");

console.log(newString); // 出力: "Hello, World!"</pre>



<ul class="wp-block-list">
<li><strong>分割</strong>
<ul class="wp-block-list">
<li><code>split()</code> を使用して、文字列を配列に分割する。</li>
</ul>
</li>
</ul>



<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="">let fruits = "apple,orange,banana,grape";
let fruitArray = fruits.split(",");

console.log(fruitArray); // 出力: ["apple", "orange", "banana", "grape"]</pre>



<ul class="wp-block-list">
<li><strong>結合</strong>
<ul class="wp-block-list">
<li><code>+</code> 演算子や <code>concat()</code> メソッドを使用して、複数の文字列を結合。</li>
</ul>
</li>
</ul>



<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="">let firstName = "Taro";
let lastName = "Yamada";
let fullName = firstName + " " + lastName; // + 演算子による結合

console.log(fullName); // 出力: "Taro Yamada"

// `concat` メソッドによる結合
let greeting = "Hello, ";
console.log(greeting.concat(fullName)); // 出力: "Hello, Taro Yamada"</pre>



<ul class="wp-block-list">
<li><strong>切り出し</strong>
<ul class="wp-block-list">
<li><code>substring()</code>, <code>slice()</code> などを使用して、文字列の一部を切り出す。</li>
</ul>
</li>
</ul>



<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="">let sentence = "Hello, JavaScript!";
// `substring` を使用した切り出し
console.log(sentence.substring(7, 11)); // 出力: "Java"

// `slice` を使用した切り出し
console.log(sentence.slice(7, -1)); // "JavaScript" の最後の"!"を除いて全てを取得</pre>



<h4 class="wp-block-heading">文字列の不変性</h4>



<p>JavaScriptの文字列は不変（immutable）です。つまり、文字列が一度作成されると、その文字列を直接変更することはできません。文字列を変更するには、新しい文字列を作成する操作が必要です。</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="">let original = "Hello";
let modified = original.replace("H", "J");
console.log(original); // "Hello"
console.log(modified); // "Jello"</pre>



<h3 class="wp-block-heading"><span id="toc7">論理型：Boolean</span></h3>



<p>論理型（Boolean型）は、真偽値を扱うデータ型であり、<code>true</code>（真）または<code>false</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>Boolean型の値は、直接<code>true</code>または<code>false</code>を使用するか、<code>Boolean()</code>関数を用いて他のデータ型の値をBoolean型に変換することで作成できます。</p>
</div></div>



<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="">let isTrue = true;
let isFalse = false;

// Boolean()関数を使った変換例
let truthyValue = Boolean(1); // 数値の1はtrueに変換される
let falsyValue = Boolean(0); // 数値の0はfalseに変換される

console.log(isTrue); // 出力: true
console.log(isFalse); // 出力: false
console.log(truthyValue); // 出力: true
console.log(falsyValue); // 出力: false</pre>



<h4 class="wp-block-heading">真偽値を返す表現</h4>



<p>JavaScriptでは、特定の演算子や関数式が評価された結果として真偽値が返される場合があります。例えば、<a href="https://it-biz.online/web-design/comparison/">比較演算子</a>や論理演算子の結果は真偽値になります。</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="">let result = 10 > 5; // 比較演算子の結果は真偽値
console.log(result); // 出力: true

let isEven = 4 % 2 === 0; // 4は偶数か？
console.log(isEven); // 出力: true

let hasValue = !!'文字列'; // 真偽値に強制変換
console.log(hasValue); // 出力: true</pre>



<h3 class="wp-block-heading"><span id="toc8">null</span></h3>



<p><code>null</code>は特別な値の１つで、「何もない」「空」または「存在しない値」を意味します。<code>null</code>は意図的に変数に「値がない」ことを示すために使われることが多く、オブジェクトやデータが期待されるが、何らかの理由で利用不可能または未定義の場合に利用されます。<code>null</code>は後述する<code>undefined</code>と密接に関連していますが、両者の間には重要な違いがあります。</p>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong><code>null</code>の特徴と使用例</strong></p>



<ul class="wp-block-list">
<li><strong>明示的な「何もない」の表現</strong>
<ul class="wp-block-list">
<li>プログラマが変数に意図的に「値がない」状態を設定するために使用する。</li>
</ul>
</li>



<li><strong>オブジェクトのプレースホルダー</strong>
<ul class="wp-block-list">
<li>オブジェクトを参照する予定の変数が一時的にオブジェクトを持たない場合に<code>null</code>を割り当てることがあります。</li>
</ul>
</li>
</ul>



<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="">let book = null; // まだ本の情報がない、または本の情報をリセットしたい場合
console.log(book); // 出力: null</pre>



<h4 class="wp-block-heading"><code>null</code>の型</h4>



<p>JavaScriptにおける<code>null</code>の型に関しては少し特異な振る舞いを見せます。→<code>typeof</code>演算子を使用すると、<code>null</code>の型は<code>object</code>として返されます。これは、JavaScriptの初期設計の名残であり、<code>null</code>が実際にはプリミティブ型であるにも関わらず生じる挙動です。</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="">console.log(typeof null); // 出力: object</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>この振る舞いはJavaScriptの混乱の原因となることがありますが、<code>null</code>が特別な値であることを理解しておけば、適切に扱うことができます。<code>null</code>は、変数に「値がまだ設定されていない」または「オブジェクトが存在しない」ことを明示的に示すために重要な役割を果たします。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc9">undefined</span></h3>



<p><code>undefined</code>は、変数が宣言されたが、まだ値が割り当てられていないときのデフォルトの値です。<code>null</code>と同様に、<code>undefined</code>もJavaScriptの基本的なデータ型の一つであり、特別な意味を持ちます。</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="">let notAssigned;
console.log(notAssigned); // 出力: undefined

function doNothing() {}
console.log(doNothing()); // 出力: undefined

let emptyObject = {};
console.log(emptyObject.noSuchProperty); // 出力: undefined</pre>



<p class="has-text-align-center"><span class="badge-green">ポイント</span>　<strong><code>undefined</code>の特徴</strong></p>



<ul class="wp-block-list">
<li><strong>変数のデフォルト値</strong>
<ul class="wp-block-list">
<li>新しく宣言された変数は、自動的に<code>undefined</code>という値を持つ。</li>
</ul>
</li>



<li><strong>関数の返り値</strong>
<ul class="wp-block-list">
<li>何も値を返さない関数からの返り値は、<code>undefined</code>になる。</li>
</ul>
</li>



<li><strong>未定義のプロパティ</strong>
<ul class="wp-block-list">
<li>オブジェクトから存在しないプロパティを読み取ろうとすると、<code>undefined</code>が返される。</li>
</ul>
</li>
</ul>



<p>JavaScriptでは、<code>undefined</code>は変数が初期化されていないことを示すために使われますが、これを直接チェックすることはあまり推奨されません。変数が「定義されていない」かどうかを確認するには、<code>typeof</code>演算子を使用するか、より一般的には変数が<code>null</code>または<code>undefined</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>undefined</code>の明示的な使用は稀であり、ほとんどの場合はJavaScriptエンジンによって内部的に扱われます。しかし、変数が初期化されていない場合の挙動を理解し、適切に扱うことは、エラーを防ぐ上で重要です。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc10">Symbol</span></h3>



<p>JavaScriptの<code>Symbol</code>は、ES6（ECMAScript 2015）で導入された新しいデータ型です。シンボルは、一意で不変の値を生成することができ、主にオブジェクトのプロパティキーとして使用されます。シンボルによって作成される値は、他のどんなシンボルとも重複しないため、名前の衝突を避けることができる特性を持っています。</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="">let symbol1 = Symbol("description");
let symbol2 = Symbol("description");

console.log(symbol1 === symbol2); // 出力: false</pre>



<p>↑のコードでは、<code>symbol1</code>と<code>symbol2</code>は同じ説明文字列を持っていますが、それぞれが一意のシンボルであるため、等価比較は<code>false</code>を返します。</p>



<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><strong>動的型付け</strong>
<ul class="wp-block-list">
<li>JavaScriptは動的型付け言語→変数の型が実行時に決定される。</li>



<li>型変換は暗黙的に行われることが多く柔軟性と便利だが、型関連のバグに注意が必要。</li>
</ul>
</li>



<li><strong>基本的なデータ型</strong>
<ul class="wp-block-list">
<li><strong>数値 (Number)</strong>: 整数や浮動小数点数を含む数学的な数値</li>



<li><strong>文字列 (String)</strong>: テキストデータを扱うためのデータ型で、シングルクォート、ダブルクォートで囲む。</li>



<li><strong>論理型 (Boolean)</strong>: 真偽値（<code>true</code>または<code>false</code>）を表し、条件分岐やループ制御に使用される。</li>



<li><strong>未定義 (undefined)</strong>: 値が割り当てられていない変数の状態を示す。</li>



<li><strong>空の値 (null)</strong>: 「何もない」状態を意図的に設定するために使用する。</li>



<li><strong>シンボル (Symbol)</strong>: ES6で導入された、一意で不変の値を作成するためのデータ型です。</li>
</ul>
</li>
</ul>



<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="">// 数値 (Number)
let number = 42;
console.log(number); // 42

// 文字列 (String)
let string = "Hello, JavaScript!";
console.log(string); // Hello, JavaScript!

// 文字列の結合
let name = "John";
let greeting = `Hello, ${name}!`;
console.log(greeting); // Hello, John!

// 論理型 (Boolean)
let isTrue = true;
let isFalse = false;
console.log(isTrue, isFalse); // true false

// 論理演算
let andOperation = true &amp;&amp; false;
let orOperation = true || false;
console.log(andOperation, orOperation); // false true

// 未定義 (undefined)
let undefinedVariable;
console.log(undefinedVariable); // undefined

// 空の値 (null)
let nullVariable = null;
console.log(nullVariable); // null

// シンボル (Symbol)
let symbol1 = Symbol("unique");
let symbol2 = Symbol("unique");
console.log(symbol1 === symbol2); // false

// 特別な数値
let infinity = 1 / 0;
let notANumber = "text" / 2;
console.log(infinity, notANumber); // Infinity, NaN

// 文字列の操作
let sentence = "JavaScript is fun!";
console.log(sentence.includes("fun")); // true
console.log(sentence.split(" ")); // ["JavaScript", "is", "fun!"]
console.log(sentence.replace("fun", "awesome")); // JavaScript is awesome!

// オブジェクトのプロパティとしてのシンボル
let id = Symbol("id");
let person = {
    name: "John",
    [id]: 123
};
console.log(person[id]); // 123</pre>
</div>



<div class="blank-box sticky">
<div class="speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"><img loading="lazy" decoding="async" class="speech-icon-image" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" width="385" height="424" /></figure>
</div>
<div class="speech-balloon">
<p><strong>スキルアップを手軽に！<br />
<span style="font-size: 20px;">話題の<span style="color: #ff6600;">サブスク型</span>プログラミングスクールをご紹介。</span></strong></p>
</div>
</div>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3143041&amp;p_id=3614&amp;pc_id=8760&amp;pl_id=50980">SAMURAI TERAKOYA</a><img loading="lazy" decoding="async" style="border: none;" src="//i.moshimo.com/af/i/impression?a_id=3143041&amp;p_id=3614&amp;pc_id=8760&amp;pl_id=50980" width="1" height="1" /></strong></span><br />
<span class="marker-under"><strong>月額2,980円</strong></span>から始める－入会金不要/途中解約自由。<span class="marker"><strong>無料体験プラン</strong></span>からスタート可能！​<br />
<strong>飲み会1回分以下の料金</strong>で継続的なスキルアップを。</p>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3134186&amp;p_id=3878&amp;pc_id=9624&amp;pl_id=53722">Freeks(フリークス)</a><br />
<img loading="lazy" decoding="async" style="border: none;" src="//i.moshimo.com/af/i/impression?a_id=3134186&amp;p_id=3878&amp;pc_id=9624&amp;pl_id=53722" width="1" height="1" /></strong><span style="font-size: 16px;">月額10,780円でJavaScript、Pythonなどのカリキュラムが</span></span>学び放題<span style="font-size: 18px;"><span style="font-size: 16px;">。<br />
<span class="marker-under"><strong>質問し放題</strong></span>＆<strong>転職サポート制度</strong>あり。</span></span></p>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=4052432&amp;p_id=3249&amp;pc_id=7671&amp;pl_id=42375">ウズウズカレッジ/CCNAコース用</a></strong></span><br />
月額33,000円(税込)〜<strong>インフラエンジニア</strong>の登竜門「CCNA」取得を目指す。<br />
コース受講→<strong><span class="marker-under">転職成功で【実質全額無料】</span></strong>（最大240,000円）</p>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【無料】ゼロから学ぶHTML/CSS/JavaScript入門：50記事で完全解説</title>
		<link>https://it-biz.online/web-design/html/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 04 Feb 2020 12:00:00 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEBデザイン]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=3553</guid>

					<description><![CDATA[Webページを開発するための必須スキル「HTML」「CSS」「JavaScript」を初心者向けに０から分かりやすく解説します。 現代では様々なWebページ・Webアプリケーションを作るためのツールやフレームワークが存在 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="has-text-align-center">随時アップデート中 / ブックマーク推奨</p>
</div>



<p>Webページを開発するための必須スキル「HTML」「CSS」「JavaScript」を初心者向けに<strong>０から分かりやすく解説</strong>します。</p>



<p>現代では様々なWebページ・Webアプリケーションを作るためのツールやフレームワークが存在していますが、結局はHTML / CSS / JavaScriptの基本理解が必要不可欠。逆に言えばこの３つの言語を理解することで様々なWebページやWebアプリケーションを自由に作成することが可能になります。</p>



<p>つまるところ、この3つさえ理解してしまえば、ある程度の現場で通用するスキルが身につけられた！と言えるようになるでしょう。</p>



<p>このページでは、右も左も分からないIT初心者が「<strong><span class="marker-under">自分一人でWebページ・Webアプリケーションを作成できるようになる！</span></strong>」ことを目標に、HTML / CSS / JavaScriptの基本を0から解説。それぞれのトピックごとにページを分割しており、このページからトピックページで飛んでいくことで学習が完結します。</p>



<p>１トピックあたり数分で学習できるように設定しているので、自分のペースで電車の中や自宅・カフェ・勉強スペースなどでのトレーニングに役立ててください。</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 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>千里の道の一歩から・・・！ということで１個１個整理しながら学習していきましょう。それでは早速「<strong>そもそも、HTMLとCSSとJavaScriptって何？</strong>」という点から解説を始めます。</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-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML / CSS / JavaScript とは？</a></li><li><a href="#toc2" tabindex="0">HTML入門</a><ol><li><a href="#toc3" tabindex="0">ステップ1-1：HTMLの概要と役割</a></li><li><a href="#toc4" tabindex="0">ステップ1-2：HTMLの基本構造/基本ルール</a></li><li><a href="#toc5" tabindex="0">ステップ1-3：HTMLの基本タグ</a></li><li><a href="#toc6" tabindex="0">ステップ1-4：応用的なHTMLの知識</a></li></ol></li><li><a href="#toc7" tabindex="0">CSS入門</a><ol><li><a href="#toc8" tabindex="0">ステップ2-1：CSSの基本概念と導入</a></li><li><a href="#toc9" tabindex="0">ステップ2-2：ボックスモデルとレイアウト</a></li><li><a href="#toc10" tabindex="0">ステップ2-3：テキスト/フォント/背景とカラーのスタイリング</a></li></ol></li><li><a href="#toc11" tabindex="0">JavaScript入門</a><ol><li><a href="#toc12" tabindex="0">ステップ3-1：基本構文とデータ型</a></li><li><a href="#toc13" tabindex="0">ステップ3-2：DOMとイベント処理</a></li><li><a href="#toc14" tabindex="0">ステップ3-3：JavaScriptによるWeb開発</a></li><li><a href="#toc15" tabindex="0">ステップ3-4：応用トピックスと最新トレンド</a></li></ol></li><li><a href="#toc16" tabindex="0">Web開発の基本をマスターしたあなたへの次のステップ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML / CSS / JavaScript とは？</span></h2>



<p>Webページを「家を建てる」ようなイメージでざっくり表したのが以下の図です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="764" height="271" src="https://it-biz.online/wp-content/uploads/2023/04/image-10.png" alt="HTMLとCSSとJavaScriptの違い" class="wp-image-7395" srcset="https://it-biz.online/wp-content/uploads/2023/04/image-10.png 764w, https://it-biz.online/wp-content/uploads/2023/04/image-10-300x106.png 300w, https://it-biz.online/wp-content/uploads/2023/04/image-10-500x177.png 500w" sizes="(max-width: 764px) 100vw, 764px" /><figcaption class="wp-element-caption">図1：HTMLとCSSとJavaScriptの違い</figcaption></figure>



<p><strong>HTML（HyperText Markup Language）</strong>は、Webページの<strong><span class="marker-under">構造</span></strong>を定義する言語であり、文章や画像、リンクなど、ページ内の要素を配置し、意味を持たせます。</p>



<p><strong>CSS（Cascading Style Sheets）</strong>は、HTMLで構築されたWebページの<strong><span class="marker-under">見た目</span></strong>を整えるためのスタイリング言語です。色、フォント、レイアウトなど、デザインに関するあらゆる要素を制御し、見栄えを整える力を持っています。</p>



<p><strong>JavaScrip</strong>tは、Webページに<strong><span class="marker-under">動的な機能やインタラクティブな要素を追加</span></strong>するプログラミング言語であり、HTMLとCSSだけでは実現できないアプリケーションのような機能を持たせることができます。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/html-css-javascript/">HTML/CSS/JavaScriptの違いをわかりやすく解説</a></p>



<p>ザックリいえば、HTMLが「骨組み」CSSが「見た目」JavaScriptが「動き」です。この３つを有機的に組み合わせることで１つのWebページ・Webアプリケーションが完成します。基本となるのはずばり「HTML（＝骨組み）」です。</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 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>このページでは初心者向けに基本の「き」となるHTMLの概念や動作原理から解説していきます。</p>
</div></div>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">WebDesign入門：カリキュラム</span></div><div class="tab-caption-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>HTML入門</strong>
<ul class="wp-block-list">
<li>HTMLの概要と役割</li>



<li>HTMLの基本構造/基本ルール</li>



<li>タグと要素の概念</li>



<li>主要なHTMLタグ</li>



<li>HTML文書の構造化とセマンティックマークアップ</li>



<li>リンクと画像の埋め込み</li>



<li>テーブル、リスト、フォームの作成</li>
</ul>
</li>



<li><strong>CSS入門</strong>
<ul class="wp-block-list">
<li>CSSの概要と役割</li>



<li>CSSの基本構文</li>



<li>セレクタとスタイルの適用範囲</li>



<li>ボックスモデルとレイアウト</li>



<li>テキスト、背景、ボーダーのスタイリング</li>



<li>レスポンシブデザインの基本</li>



<li>アニメーションとトランジション</li>
</ul>
</li>



<li><strong>JavaScript入門</strong>
<ul class="wp-block-list">
<li>JavaScriptの概要と役割</li>



<li>JavaScriptの基本構文</li>



<li>変数、データ型、演算子</li>



<li>条件分岐とループ</li>



<li>関数とスコープ</li>



<li>DOM操作とイベントハンドリング</li>



<li>非同期処理とAjax</li>



<li>JavaScriptのライブラリとフレームワーク</li>
</ul>
</li>
</ul>
</div>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">HTML入門</span></h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>まずは、Web開発の最も基本となるHTMLから学習を始めていきます。</p>
</div></div>



<p>この章では、HTMLの基本的な概念や役割を学び、Webページの骨組みを構築する方法を身につけます。文章や画像、リンク、リスト、テーブルなど、Webページに必要な要素を整理し、読み手に伝わるように表現します。</p>



<p>また同時にHTMLの基本構造を理解し、タグや要素の概念を把握することから始めていきます。主要なHTMLタグを紹介し、実際にページ構造を作成する方法を学んでいきます。さらに、HTML文書の構造化やセマンティックマークアップの重要性を解説し、より効果的なWebページを構築する方法を学びます。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>HTMLをマスターすることで、あなたは<strong>Webページの基本的な構造を自由に築くことができる</strong>ようになります。このセクションを通して、Web開発の根幹をなすHTMLの魅力と力を存分に体感しましょう！</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc3">ステップ1-1：HTMLの概要と役割</span></h3>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/html-abc/" title="【初心者向け】マークアップ言語とは？３分でわかりやすく解説" 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/11/markup-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/11/markup-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/11/markup-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/11/markup-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】マークアップ言語とは？３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">マークアップ言語って何？短時間でわかりやすく学びたい方へ、3分でマスターできる解説記事です。HTML、XML、Markdownなど、基本概念から実例までシンプルにご紹介。これであなたもマークアップ言語のプロに！</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.04.05</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/html-basic/" 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/2023/04/html-basic-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/html-basic-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/html-basic-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/html-basic-640x360.png 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とは何か、その役割や基本的な構成をわかりやすく説明します。たった3分で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.06.30</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc4">ステップ1-2：HTMLの基本構造/基本ルール</span></h3>



<p>この章では、<strong><span class="marker-under">HTMLの基本構造と構文ルール、その他「属性」などの基礎知識</span></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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<figure class="wp-block-embed is-type-wp-embed"><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>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/attribute/" title="【HTML】タグの &quot;属性&quot; についてわかりやすく３分で解説" 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/attribute-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/10/attribute-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/10/attribute-300x169.png 300w, https://it-biz.online/wp-content/uploads/2019/10/attribute-500x281.png 500w, https://it-biz.online/wp-content/uploads/2019/10/attribute-768x431.png 768w, https://it-biz.online/wp-content/uploads/2019/10/attribute-800x449.png 800w, https://it-biz.online/wp-content/uploads/2019/10/attribute-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/10/attribute-640x360.png 640w, https://it-biz.online/wp-content/uploads/2019/10/attribute.png 988w" 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タグの属性について、初心者にもわかりやすく解説。3分で基本的な属性の概念と使い方を把握し、ウェブページ作成のスキルアップに役立てましょう。</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.03.20</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/inline-block/" 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/12/inline-block-1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/inline-block-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/inline-block-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/inline-block-1-640x360.png 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のインライン要素とブロック要素の違いをわかりやすく解説！3分で理解できるコンパクトなガイド。要素の配置、幅と高さ、余白と境界線、要素の含有についての違いを簡潔に説明します。</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.04.20</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc5">ステップ1-3：HTMLの基本タグ</span></h3>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>この章ではHTMLの基本的なタグについて学習していきます。</p>
</div></div>



<p>実は、覚えるべきタグの数は多くありません。<strong>複雑なWebページも、実は複数の基本タグの組み合わせで構成されています。</strong>この章では、HTMLのタグの中で覚えておきたい基本タグを学びます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>headタグ/bodyタグ</li>



<li>pタグ―段落タグ</li>



<li>見出し（h1~h6）タグ</li>



<li>liタグ（リストの作り方）</li>



<li>dlタグ（説明リストの作り方）</li>



<li>aタグ / リンクタグ</li>



<li>spanタグ / divタグ</li>



<li>imgタグー画像の埋め込み方法</li>



<li>テーブルの作り方</li>



<li>Formタグー入力フォームの作り方</li>



<li>linkタグ</li>
</ul>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/head/" title="【HTML】headタグ：意味と使い方・重要性を１分で解説" 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/12/head-2-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/head-2-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/head-2-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/head-2-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】headタグ：意味と使い方・重要性を１分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">HTMLのheadタグの意味と使い方、重要性を1分で簡潔に解説。ウェブページのメタデータ、タイトル、キャラクターセット、SEO対策などを理解し、効果的なウェブページを構築しましょう。</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">2024.01.18</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/paragraph/" title="【HTML】pタグ（段落タグ）とは？３分でわかりやすく解説" 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/2023/04/p-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/p-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/p-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/p-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】pタグ（段落タグ）とは？３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">&lt;p&gt;タグ（段落タグ）の基本的な概念、使い方、および使用例をわかりやすく解説します。この3分で読める記事で、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.04.04</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/h1-h6/" title="【HTML】hタグ（見出し）タグ：h1~h6を３分でわかりやすく解説" 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/11/h-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/11/h-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/11/h-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/11/h-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】hタグ（見出し）タグ：h1~h6を３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">【Webエンジニア向け】hタグ（見出し）タグ：h1~h6 の意味と使い方、注意点をわかりやすく３分で解説します。</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.03.14</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/link/" title="【HTML】aタグ（リンク）の基本を３分でわかりやすく" 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/11/html_a-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/11/html_a-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/11/html_a-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/11/html_a-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】aタグ（リンク）の基本を３分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">【Webエンジニアを目指すなら】初心者向けにHTMLのaタグ（リンクタグ）の基本・使い方をサンプルコード付きで解説。target属性・title属性の使い方まで網羅的にご説明します。</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.03.14</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/list/" title="【HTML】リスト（ulタグ・olタグ・liタグ）の使い方を３分で解説" 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/12/list-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/list-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/list-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/list-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】リスト（ulタグ・olタグ・liタグ）の使い方を３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">HTMLのリスト（ulタグ・olタグ・liタグ）を効果的に使用する方法を３分でわかりやすく解説します。無順序リストや順序付きリストの作成、入れ子構造の理解、スタイリングについても簡潔にサンプルコード付きでご説明します。</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.04.12</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/dl-dt-dd/" title="【HTML】説明リスト（dlタグ・dtタグ・ddタグ）を３分でわかりやすく解説" 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/2023/04/dl-dt-dd-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/dl-dt-dd-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/dl-dt-dd-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/dl-dt-dd-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】説明リスト（dlタグ・dtタグ・ddタグ）を３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">HTMLの説明リスト（dlタグ・dtタグ・ddタグ）の基本的な使い方と構造を短時間で解説。用語と説明をペアで表示する説明リストの作成方法、適切な使用例、アクセシビリティへの配慮など網羅的にご説明します。</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.04.12</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/span/" title="【HTML】spanタグ：使い方と実践的な例を３分でわかりやすく解説" 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/12/span-1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/span-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/span-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/span-1-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】spanタグ：使い方と実践的な例を３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">スタイリングの秘密兵器：spanタグの活用法とHTMLでの使い方をIT初心者向けに１からわかりやすくサンプルコード付きで解説します。初心者から上級者になるために、spanタグの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.03.18</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/div/" title="【HTML】divタグの使い方とコツを３分でわかりやすく解説" 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/12/div-2-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/div-2-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/div-2-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/div-2-640x360.png 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><div class="blogcard-snippet internal-blogcard-snippet">HTMLにおけるdivタグの基本的な使い方と、実際のWebページでの活用例、そしてdivタグを使う際のコツや注意点について、3分でわかりやすく解説します。初心者でも理解しやすいように、図解付きで丁寧に説明します。</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">2024.03.21</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/img/" title="【HTML】img（画像タグ）を３分でわかりやすく解説" 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/11/img-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/11/img-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/11/img-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/11/img-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】img（画像タグ）を３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】HTML imgタグの基本を理解し、画像を効果的に表示する方法を学びましょう。src、alt、width、height属性の使い方や注意点、アクセシビリティやSEO対策など、初心者にも分かりやすい解説が盛りだくさんです。</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.04.04</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/table/" title="【HTML】tableタグ：テーブル（表）の作成方法を３分でわかりやすく" 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/12/table-1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/table-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/table-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/table-1-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】tableタグ：テーブル（表）の作成方法を３分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">HTMLでテーブル（表）を作りたい初心者必見！&lt;table&gt;タグを使った基本的な作成方法を、3分わかりやすく解説します。サンプルコード付きの説明であなたのWebサイトに簡単に表を実装できます。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">2025.04.22</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/form/" title="【HTML】form：入力フォームの作成方法を３分で解説" 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/2020/01/form-1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/01/form-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/01/form-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/01/form-1-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】form：入力フォームの作成方法を３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【IT初心者向け】HTMLで入力フォームを作成する方法を解説します。formタグ・labelタグ・textareタグ（各type属性）・selectタグ・inputタグを０から解説していきます。</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">2024.03.19</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/html-link/" title="【HTML】linkタグとは？外部リソースの参照を１分で解説" 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/03/image-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/03/image-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/03/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">【HTML】linkタグとは？外部リソースの参照を１分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">HTMLの&lt;link&gt;タグの役割と使い方をわかりやすく解説。&lt;link&gt;タグはスタイルシートなどの外部リソースをWebページに組み込むための重要な要素。読み込み順序、パフォーマンスへの影響、相対パスと絶対パスの選択、セキュリティ対策など、&lt;link&gt;タグを利用する際の重要な注意点も網羅的にご説明。</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">2024.03.05</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc6">ステップ1-4：応用的なHTMLの知識</span></h3>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>お疲れ様でした。ここからはHTMLに関する最後の章です。</p>
</div></div>



<p>この章では<strong>セマンティックHTML</strong>など、HTML5から利用できるようになった新機能、また実践の現場で必要となる応用的な知識について学習していきます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>セマンティックHTML</li>



<li>header, footer, nav, main, article, section, aside等のタグ</li>



<li>HTML5の新機能</li>



<li>新しい入力タイプ (email, date, range, number)</li>
</ul>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/semantic-html/" 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/2023/04/semantic-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/semantic-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/semantic-300x168.png 300w, https://it-biz.online/wp-content/uploads/2023/04/semantic-500x279.png 500w, https://it-biz.online/wp-content/uploads/2023/04/semantic-768x429.png 768w, https://it-biz.online/wp-content/uploads/2023/04/semantic-800x447.png 800w, https://it-biz.online/wp-content/uploads/2023/04/semantic-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/semantic-640x360.png 640w, https://it-biz.online/wp-content/uploads/2023/04/semantic.png 1015w" 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をわかりやすく3分で解説！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.08.02</div></div></div></div></a>
</div></figure>



<h2 class="wp-block-heading"><span id="toc7">CSS入門</span></h2>



<p>CSS（<big><span style="color:#fcb900" class="color">C</span></big>ascading <big><span style="color:#fcb900" class="color">S</span></big>tyle <big><span style="color:#fcb900" class="color">S</span></big>heet）は、Webページのデザインやレイアウトをコントロールするための言語です。HTML（HyperText Markup Language）でWebページの構造を作成した後、CSSを使ってデザインやスタイルを適用することができます。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>Webページを家に例えると、<a href="https://it-biz.online/web-design/html-basic/">HTML</a>が家の骨組みや間取りを決めるのに対して、CSSは家具の配置や壁の色などを決める役割を担います。</p>
</div></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="510" height="279" src="https://it-biz.online/wp-content/uploads/2023/04/image-34.png" alt="" class="wp-image-7454" srcset="https://it-biz.online/wp-content/uploads/2023/04/image-34.png 510w, https://it-biz.online/wp-content/uploads/2023/04/image-34-300x164.png 300w, https://it-biz.online/wp-content/uploads/2023/04/image-34-500x274.png 500w" sizes="(max-width: 510px) 100vw, 510px" /></figure>



<h3 class="wp-block-heading"><span id="toc8">ステップ2-1：CSSの基本概念と導入</span></h3>



<p>この章ではCSSとは何か？という基本解説から始め、CSSの基本構文を学習していきます。</p>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>CSSとは何か
<ul class="wp-block-list">
<li>セレクター</li>



<li>プロパティと値</li>



<li>セミコロンと波括弧の使い方</li>



<li>疑似要素と疑似クラス</li>
</ul>
</li>



<li>CSSとHTMLの関係</li>



<li>CSSの歴史とバージョン</li>



<li>インライン、内部、外部のスタイルシートの違い</li>
</ul>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/css-abc/" title="【初心者向け】CSSとは？３分でわかりやすく簡単に解説" 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/12/css-abc-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/css-abc-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/css-abc-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/css-abc-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】CSSとは？３分でわかりやすく簡単に解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】CSSとは？３分でわかりやすく簡単に解説 - CSS（Cascading Style Sheets）の基本概念、セレクタとプロパティについて、初心者にも理解しやすい言葉で解説します。Webページのデザインやレイアウトをコントロールする方法を短時間で学べます。</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.04.18</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/selector/" title="【CSS】セレクタとは？主要な書き方10個を３分で解説" 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/2023/04/selector-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/selector-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/selector-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/selector-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】セレクタとは？主要な書き方10個を３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】CSSセレクタを簡単に理解するためのガイド。要素セレクタ、クラスセレクタ、IDセレクタ、属性セレクタなど、主要な10個のセレクタの使い方を3分で習得できる解説記事です。スタイリングの基本をマスターしましょう。</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.04.19</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/pseudoc-classes/" title="【CSS】疑似クラスとは？初心者向けにわかりやすく３分で解説" 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/2020/01/pseudo-class-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/01/pseudo-class-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/01/pseudo-class-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/01/pseudo-class-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】疑似クラスとは？初心者向けにわかりやすく３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">疑似クラスって何？CSSの疑似クラスを初心者向けにわかりやすく解説。3分で基本概念を把握し、要素の状態や特定条件でスタイルを適用する方法を学びましょう。</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.04.19</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/pseudo-element/" title="【CSS】疑似要素とは？初心者向けにわかりやすく３分で解説" 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/2023/04/pseudo-element-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/pseudo-element-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/pseudo-element-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/pseudo-element-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】疑似要素とは？初心者向けにわかりやすく３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">疑似要素とは何か？初心者向けにわかりやすく解説するこの記事で、CSSの疑似要素がどのように機能し、効果的なデザインを作成するためにどのように活用できるのかを3分で学びましょう。</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.04.19</div></div></div></div></a>
</div></figure>





<a href="https://it-biz.online/web-design/id-class/" title="【HTML】id属性/class属性の違い・使い分けを３分でわかりやすく解説" 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/12/id-class-1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2019/12/id-class-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-300x168.png 300w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-500x280.png 500w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-768x431.png 768w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-800x449.png 800w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-640x360.png 640w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1-1024x574.png 1024w, https://it-biz.online/wp-content/uploads/2019/12/id-class-1.png 1027w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】id属性/class属性の違い・使い分けを３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">【HTML】id属性とclass属性の違いを簡潔に解説。ページ内での一意性やCSS適用、JavaScriptでの利用を含む使い分け方法を3分で理解できるわかりやすいガイド。これを読めば、属性の選択に迷わなくなるでしょう！</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.04.20</div></div></div></div></a>




<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/style/" title="【HTML】CSSの読み込み方法３点：わかりやすく１分で解説" 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/2020/01/style-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/01/style-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/01/style-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/01/style-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【HTML】CSSの読み込み方法３点：わかりやすく１分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】HTMLとCSSの読み込み方法を簡単に理解できるように、インラインスタイル、内部スタイルシート、外部スタイルシートの3つの方法をわかりやすく3分で解説。効率的なWebページ制作のためのポイントを押さえましょう。</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">2024.03.05</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc9">ステップ2-2：ボックスモデルとレイアウト</span></h3>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>マージン、パディング、ボーダー、コンテンツ</li>



<li>ボックスサイジング</li>



<li>ポジショニング（static、relative、absolute、fixed、sticky）</li>



<li>フロートとクリア</li>



<li>ディスプレイプロパティ（block、inline、inline-block、flex、grid）</li>
</ul>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/box-model/" title="【CSS】ボックスモデルを３分でわかりやすく解説" 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/2020/01/boxmodel-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/01/boxmodel-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/01/boxmodel-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/01/boxmodel-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】ボックスモデルを３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">ボックスモデルを3分で理解しましょう！この解説では、コンテンツエリア、パディング、ボーダー、マージンの4つの領域について簡潔かつわかりやすく説明します。ウェブデザインの基本となるボックスモデルを効果的に学びましょう。</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.04.18</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/box-sizing/" title="【CSS】box-sizing（border-box）を３分で解説" 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/2023/04/box-sizing-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/04/box-sizing-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/04/box-sizing-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/04/box-sizing-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】box-sizing（border-box）を３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">CSSのbox-sizingプロパティ（特にborder-box）をわずか3分で解説します。要素のサイズ計算を簡単にし、予測可能なレイアウトを実現する方法を学びましょう。レスポンシブデザインやグリッドシステムにも最適です。</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.04.18</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc10">ステップ2-3：テキスト/フォント/背景とカラーのスタイリング</span></h3>



<div class="wp-block-cocoon-blocks-label-box-1 label-box block-box cocoon-block-label-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>グラデーション</li>



<li>背景サイズ、位置、繰り返し</li>



<li>カラーの表現方法（色名、RGB、RGBA、HEX、HSL、HSLA）</li>
</ul>
</div></div>



<h2 class="wp-block-heading"><span id="toc11">JavaScript入門</span></h2>



<p>Webエンジニアと呼ばれるようになるには、やはりJavaScriptの基本理解は欠かせません。ここからは、JavaScriptの基本を０から１０まで網羅的に学習していきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">ステップ3-1：基本構文とデータ型</span></h3>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box not-nested-style cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この章で学ぶ内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ol class="wp-block-list">
<li><strong>基本構文とデータ型</strong>
<ul class="wp-block-list">
<li>変数の宣言（var, let, const）。</li>



<li>プリミティブデータ型（String, Number, Boolean等）。</li>



<li>演算子と式。</li>
</ul>
</li>



<li><strong>制御構造</strong>
<ul class="wp-block-list">
<li>条件分岐（if-else文）。</li>



<li>ループ（for文、while文）。</li>
</ul>
</li>



<li><strong>関数の基礎</strong>
<ul class="wp-block-list">
<li>関数の宣言と呼び出し。</li>



<li>アロー関数。</li>
</ul>
</li>
</ol>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/js-rule/" title="【JavaScript入門】基本文法/基礎文法を5分で" 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/01/image-35-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/01/image-35-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/01/image-35-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/01/image-35-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入門】基本文法/基礎文法を5分で</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptの基本ルールとその応用を初心者にも分かりやすく解説。大文字と小文字の区別、空白と改行の扱い、セミコロンの重要性、コメントの書き方、予約語の使用禁止について、具体的なサンプルコードを用いて詳しく説明します。これを読めば、JavaScriptの基礎をしっかりと理解できるようになります。</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">2024.01.30</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/var-let/" title="JavaScript：変数宣言（let/const/var）を３分で解説" 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）を３分で解説</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">2024.03.29</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/type/" title="【JavaScript】データ型の基本と動的型付けの仕組みを１分で" 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-1-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-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-1-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】データ型の基本と動的型付けの仕組みを１分で</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptの動的型付けと基本的なデータ型（数値、文字列、論理型、未定義、空の値、シンボル）について初心者向けに解説。数値の特殊なケース、文字列操作方法、および論理演算の基本もカバーしています。プログラミングの基礎を固め、効率的なコーディングを目指しましょう。</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">2024.03.21</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/template-literal/" title="JavaScript：テンプレートリテラルを１分で完全解説" 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-19-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-19-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-19-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-19-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：テンプレートリテラルを１分で完全解説</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】初心者向けにテンプレートリテラル（テンプレート文字列）の使い方をサンプルコード付きで解説します。テンプレートリテラルをマスターすれば、${変数}/${式}のような形で、文字列に変数の値や式の結果を埋め込むことができます。</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">2024.02.20</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/array/" title="JavaScript：配列（Array）とは？初心者向けに３分でわかりやすく解説" 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-15-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-15-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-15-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-15-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：配列（Array）とは？初心者向けに３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】JavaScriptで配列を利用する方法を画像・サンプルコード付きで解説します。「そもそも配列って？」「変数と何が違うの？」そんな疑問をお持ちの方でも、最後まで理解できるよう全ての用語を分かりやすく解説しています。</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">2024.03.22</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><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 loading="lazy" 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 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">2024.02.02</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/comparison/" title="【JavaScript】3分で学べる！比較演算子（&quot;===&quot;の意味）" 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/2020/02/dadef42a3db2b72f42f8b79029718491-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/02/dadef42a3db2b72f42f8b79029718491-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/02/dadef42a3db2b72f42f8b79029718491-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/02/dadef42a3db2b72f42f8b79029718491-640x360.png 640w, https://it-biz.online/wp-content/uploads/2020/02/dadef42a3db2b72f42f8b79029718491-120x68.png 120w, https://it-biz.online/wp-content/uploads/2020/02/dadef42a3db2b72f42f8b79029718491-160x90.png 160w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】3分で学べる！比較演算子（"==="の意味）</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】JavaScriptで用いる比較演算子を整理して解説します。等価演算子（==）と厳密等価演算子（===）の違い、厳密不等価演算子（!==）など、初心者にとって理解しづらい概念もサンプルコードを用いて丁寧に解説します。</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">2020.02.04</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/switch/" title="【JavaScript】1分で理解できる！switch文を用いた条件分岐（switch~case/dafault）" 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/2020/02/switch-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/02/switch-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/02/switch-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/02/switch-640x360.png 640w, https://it-biz.online/wp-content/uploads/2020/02/switch-120x68.png 120w, https://it-biz.online/wp-content/uploads/2020/02/switch-160x90.png 160w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】1分で理解できる！switch文を用いた条件分岐（switch~case/dafault）</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】JavaScriptのswitch文の使い方をなかなか理解できない！という方向けに、switch文の使い方を１から解説します。実際にswitch文を利用したサンプルコード付きで解説し、dafaultオプションの使い方などこれさえ覚えておけば間違いなし！という要点を絞って整理しています。</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">2020.02.13</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/while/" title="JavaScript：while文を用いたループ処理の基本とコツを１分で" 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/03/image-11-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-11-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/03/image-11-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/03/image-11-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：while文を用いたループ処理の基本とコツを１分で</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptでのwhileおよびdo...whileループの効果的な使用方法を解説。明確な終了条件の設定、カウンターの適切な更新方法、そして最低一回の実行を保証するdo...whileの特性に焦点を当てた実践的なサンプルコードを提供します。</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">2024.03.11</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/for-2/" title="JavaScript：for文を用いたループ処理を３分で解説" 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-18-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-18-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-18-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-18-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：for文を用いたループ処理を３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】JavaScriptの基本―。for文を利用したループ処理（繰り返し処理）の使い方・構文ルールを解説しています。JavaScript学習中の方でもサクッと理解できるようサンプルコードを用いて端的に分かりやすく要点を絞って説明しています。</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">2024.02.19</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/foreach/" title="JavaScript：forEachメソッド-配列のループ方法を１分で解説" 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-17-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-17-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-17-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-17-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：forEachメソッド-配列のループ方法を１分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】JavaScriptのforEachメソッドの使い方とその特徴を解説。基本的な使用法、非同期処理の扱い、配列の変更時の注意点など、forEachを効率的に使いこなすための重要なポイントを網羅的に紹介。プログラミングの知識を深め、より良いコードを書くためのガイドとして必見です。</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">2024.02.14</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/function/" title="【JavaScript】関数：functionの使い方とコツを３分でわかりやすく" 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-12-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-12-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-12-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-12-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】関数：functionの使い方とコツを３分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】JavaScriptのfunction（関数）の意味と利用方法、コーディング方法を丸っと解説します。パラメータ（引数）の使い方やローカル変数/グローバル変数の差異など、function（関数）利用時に知っておきたい内容を３分でまとめます。</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">2025.05.07</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/arrow-function/" title="【JavaScript】１分で理解する！=&gt;アロー関数の基本" 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/2020/02/da185f29d9e350e2b996e858f8ba3f11-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/02/da185f29d9e350e2b996e858f8ba3f11-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/02/da185f29d9e350e2b996e858f8ba3f11-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/02/da185f29d9e350e2b996e858f8ba3f11-640x360.png 640w, https://it-biz.online/wp-content/uploads/2020/02/da185f29d9e350e2b996e858f8ba3f11-120x68.png 120w, https://it-biz.online/wp-content/uploads/2020/02/da185f29d9e350e2b996e858f8ba3f11-160x90.png 160w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】１分で理解する！=>アロー関数の基本</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】アロー関数（=&gt;）の使い方をまとめました。サンプルコード付きで初心者でも理解しやすいように解説しています。関数って何？関数式って何？という方でも、このページを読めば理解できるよう詳細解説記事へのリンク付きです。</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">2025.01.10</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/function-expression/" title="【JavaScript】関数式（無名関数）とは？関数宣言との違いを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/03/image-30-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-30-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/03/image-30-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/03/image-30-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】関数式（無名関数）とは？関数宣言との違いを3分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【JavaScript入門】JavaScriptにおける「関数宣言(Function Declaration)」と「関数式(Function Expression)」の違いを端的に分かりやすく解説します。関数式で用いられる無名関数（匿名関数）や、「巻き上げ」の有無についてサンプルコードを用いながら説明します。</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">2024.03.29</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/callback-function/" title="JavaScript：コールバック関数とは？３分でわかりやすく解説" 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-16-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-16-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-16-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-16-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：コールバック関数とは？３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptでのコールバック関数の役割と基本的な使い方を徹底開設。この記事では、コールバック関数がどのようにして非同期処理を管理し、プログラムの流れを柔軟に制御するのかを簡潔にご説明。さらに、コールバック関数の利用例と、その適切な使用方法についても紹介します。</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">2024.03.11</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/object-2/" title="JavaScriptのオブジェクトとは？基本と使い方のコツを３分で解説" 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-9-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-9-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-9-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-9-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のオブジェクトとは？基本と使い方のコツを３分で解説</div><div class="blogcard-snippet internal-blogcard-snippet">【超・初心者向け】JavaScriptの「オブジェクト」という概念が難しく挫折しかけている人のために、JavaScriptのエンジニアが要点を絞って分かりやすく解説します。プロパティって？メソッドって？オブジェクトってつまり何者？という疑問に３分でお答えします。</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">2024.02.07</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/js-class/" title="Javascript：クラスとは何か？を３分で【初心者向け】" 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/03/image-5-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-5-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/03/image-5-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/03/image-5-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：クラスとは何か？を３分で【初心者向け】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptのクラスに関する基本的な概念、継承、カプセル化、ポリモーフィズム、静的メソッドとプロパティについて解説します。初心者から中級者向けに、クラスの使い方とオブジェクト指向プログラミングの鍵となる概念を学ぶことができます。</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">2025.01.17</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/document/" title="JavaScript：documentオブジェクトの意味と使い方を３分で" 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-14-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-14-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-14-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-14-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：documentオブジェクトの意味と使い方を３分で</div><div class="blogcard-snippet internal-blogcard-snippet">【初心者向け】JavaScriptのdocumentオブジェクトの基本と使い方を初心者にも分かりやすく解説。DOM操作、要素の取得・変更、イベントハンドリングの方法を学び、サンプルコードを用いて実践的な知識を身につけましょう。</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">2024.02.07</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/alert/" title="【JavaScript】alertメソッドの使い方―３分で学ぶアラート(ポップアップ)表示" 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/2020/01/alert-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2020/01/alert-320x180.png 320w, https://it-biz.online/wp-content/uploads/2020/01/alert-240x135.png 240w, https://it-biz.online/wp-content/uploads/2020/01/alert-640x360.png 640w, https://it-biz.online/wp-content/uploads/2020/01/alert-120x68.png 120w, https://it-biz.online/wp-content/uploads/2020/01/alert-160x90.png 160w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】alertメソッドの使い方―３分で学ぶアラート(ポップアップ)表示</div><div class="blogcard-snippet internal-blogcard-snippet">本ページでは、JavaScriptの初心者向けにalertメソッドの使い方を０から解説します。alertメソッドは、JavaScript内であらかじめ用意されているwindowオブジェクトのメソッドです。alertメソッドを利用することで、以下の画像のように「ポップアップ画面」を表示することが可能に...</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">2020.01.27</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc13">ステップ3-2：DOMとイベント処理</span></h3>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box not-nested-style cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この章で学ぶ内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ol class="wp-block-list">
<li><strong>DOMとは</strong>
<ul class="wp-block-list">
<li>DOMの概念と構造。</li>



<li>DOM要素の選択と操作。</li>
</ul>
</li>



<li><strong>イベント処理</strong>
<ul class="wp-block-list">
<li>イベントリスナーの追加。</li>



<li>イベントオブジェクトとイベント伝播。</li>
</ul>
</li>
</ol>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/dom/" title="【初心者向け】DOM入門：Webページ操作の基本を３分でわかりやすく" 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/2023/12/image-14-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2023/12/image-14-320x180.png 320w, https://it-biz.online/wp-content/uploads/2023/12/image-14-500x279.png 500w, https://it-biz.online/wp-content/uploads/2023/12/image-14-800x447.png 800w, https://it-biz.online/wp-content/uploads/2023/12/image-14-300x168.png 300w, https://it-biz.online/wp-content/uploads/2023/12/image-14-768x429.png 768w, https://it-biz.online/wp-content/uploads/2023/12/image-14-240x135.png 240w, https://it-biz.online/wp-content/uploads/2023/12/image-14-640x360.png 640w, https://it-biz.online/wp-content/uploads/2023/12/image-14.png 1072w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】DOM入門：Webページ操作の基本を３分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">DOM（Document Object Model）とは何かを初心者向けに３分でわかりやすく解説します。Webページをツリー構造として表現し、JavaScriptと連携して動的な変更を可能にするDOMの基本概念とサンプルコードを紹介します。</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.12.15</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/event-listner/" title="【JavaScript】イベントリスナーとは？３分でわかりやすく解説" 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-7-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-7-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/02/image-7-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/02/image-7-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】イベントリスナーとは？３分でわかりやすく解説</div><div class="blogcard-snippet internal-blogcard-snippet">【超・初心者向け】この記事では、JavaScriptにおけるイベントリスナーの基本概念から、イベントリスナーの追加と削除方法に至るまで、初心者にも理解しやすい形で段階的に解説します。イベントリスナーを利用し、Webページ上でより豊かなユーザーインタラクションを実現する方法をご説明します。</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">2025.05.07</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc14">ステップ3-3：JavaScriptによるWeb開発</span></h3>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box not-nested-style cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この章で学ぶ内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ol class="wp-block-list">
<li><strong>フォーム操作</strong>
<ul class="wp-block-list">
<li>フォーム要素の取得と操作。</li>



<li>フォームの送信とバリデーション。</li>
</ul>
</li>



<li><strong>Ajaxと非同期処理</strong>
<ul class="wp-block-list">
<li>Ajaxの基本。</li>



<li>Promiseとasync/await。</li>
</ul>
</li>



<li><strong>フロントエンドフレームワークの紹介</strong>
<ul class="wp-block-list">
<li>React、Vue、Angularの比較。</li>
</ul>
</li>
</ol>
</div></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">

<a href="https://it-biz.online/web-design/what-is-angular/" title="Angularとは？初心者向けに１０分でわかりやすく" 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/03/image-1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://it-biz.online/wp-content/uploads/2024/03/image-1-320x180.png 320w, https://it-biz.online/wp-content/uploads/2024/03/image-1-240x135.png 240w, https://it-biz.online/wp-content/uploads/2024/03/image-1-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Angularとは？初心者向けに１０分でわかりやすく</div><div class="blogcard-snippet internal-blogcard-snippet">Angularの概要やプロジェクト構成、コンポーネント・データバインディング・モジュール（NgModule）・ルートコンポーネントなどを初心者向けにわかりやすく解説します。フォルダ構成の具体例や、TypeScript・HTML・CSSの連携、実際の画面例、Angularを基礎から理解するのに最適な内容です。</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">2025.01.07</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc15">ステップ3-4：応用トピックスと最新トレンド</span></h3>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box not-nested-style cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この章で学ぶ内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ol class="wp-block-list">
<li><strong>モダンJavaScriptの機能</strong>
<ul class="wp-block-list">
<li>ES6以降の新機能（スプレッド構文、デストラクチャリング等）。</li>
</ul>
</li>



<li><strong>モジュールシステム</strong>
<ul class="wp-block-list">
<li>JavaScriptモジュールの概念。</li>



<li>importとexportの使い方。</li>
</ul>
</li>



<li><strong>ツールとライブラリ</strong>
<ul class="wp-block-list">
<li>ビルドツール（Webpack等）。</li>



<li>便利なライブラリの紹介。</li>
</ul>
</li>



<li><strong>JavaScriptのセキュリティ</strong>
<ul class="wp-block-list">
<li>クロスサイトスクリプティング（XSS）。</li>



<li>クロスサイトリクエストフォージェリ（CSRF）。</li>
</ul>
</li>
</ol>
</div></div>



<h2 class="wp-block-heading"><span id="toc16">Web開発の基本をマスターしたあなたへの次のステップ</span></h2>



<p>おめでとうございます！あなたはHTMLやCSS,JavaScriptの基本を学習し、Web開発の世界への扉を開きました。</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 cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img 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>



<p>Webページの骨格を作る言語の基本は理解できましたが、<strong><span class="marker-under">Web開発の真の魅力は、その先に広がる可能性を探求すること</span></strong>です。プログラミングスクールでは、HTMLだけでなく、CSSやJavaScriptを学ぶことで、より魅力的でインタラクティブなウェブサイトを構築できるようになります。</p>



<figure class="wp-block-embed is-type-wp-embed"><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>



<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><span class="bold-blue">スキルセットの拡充</span></strong><br>HTMLに加え、CSS、JavaScript、PHP、Rubyなどの言語や、フレームワークを学び、あなたのスキルセットを強化することができます。</li>



<li><strong><span class="bold-blue">実践的なプロジェクト</span></strong><br>学んだ知識を実践することで、理解が深まります。プログラミングスクールでは、リアルなプロジェクトに取り組むことで、スキルを磨くことができます。</li>



<li><strong><span class="bold-blue">ネットワーキング</span></strong><br>同じ目標を持った仲間と出会い、互いに刺激を受け合いながら、自分のキャリアを築いていくことができます。また、業界のプロフェッショナルからアドバイスを受けることも可能です。</li>



<li><strong><span class="bold-blue">就職サポート</span></strong><br>プログラミングスクールは、卒業後の就職活動をサポートしてくれることが多いです。あなたの夢の仕事を見つけるための一助となります。</li>



<li><span class="bold-blue">自分のペースで学ぶ</span><br>プログラミングスクールは、自分のペースで学ぶことができるオンラインコースや、短期集中型のブートキャンプなど、様々な形態があります。自分に合った方法で学ぶことができます。</li>
</ul>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>JavaScript：コールバック関数とは？３分でわかりやすく解説</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：関数の基本 Webエンジニア/ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>コールバック関数とは、<strong><span class="marker-under">別の関数に引数として渡される関数</span></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="">// 数値を受け取り、それに10を加えた後、コールバック関数にその結果を渡して実行する関数
function addAndDisplay(number, callback) {
    let result = number + 10; // 10を加算
    callback(result); // 加算結果をコールバック関数に渡して実行
}

// 加算結果を受け取り、表示するコールバック関数
function displayResult(result) {
    console.log('The result after addition is: ' + result);
}

// addAndDisplay関数を呼び出し、その結果を表示するコールバック関数を渡す
addAndDisplay(5, displayResult); // "The result after addition is: 15" を表示</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/function/">JavaScript：関数の基本</a></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 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>



<p>Webエンジニア/Webデザイナーを目指す方であれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識の１つ</span></strong>です。是非最後までご覧ください。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/web-design/js-rule/">【JavaScript入門】基本文法/基礎文法を5分で</a></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</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">非同期処理でのコールバック関数</a></li><li><a href="#toc5" tabindex="0">複数のコールバック関数を使う</a></li><li><a href="#toc6" tabindex="0">コールバック地獄</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">コールバック関数とは？</span></h2>



<p>プログラミングの基本知知識の１つ。コールバック関数はその名の通り「<strong>後で呼び出すために渡される関数</strong>」だと言えます。特に非同期操作（データを取得する、時間がかかる計算をするなど）を行う際に便利なテクニックの１つで、操作が完了したらその結果に基づいて何かアクションを起こしたいような場合にコールバック関数を使用します。</p>



<p>これは、日常生活の例えを使ってみるとイメージしやすくなるかもしれません。</p>



<p class="has-text-align-center"><span class="badge-green">日常生活での例え</span>　<strong>「友人に頼んで後で電話をかけ直してもらう」状況</strong></p>



<ol class="wp-block-list">
<li><strong>友人への依頼（親関数）</strong>: 「忙しいから、30分後にもう一度電話して」</li>



<li><strong>友人が約束を守り30分後に行動（コールバック関数）</strong>: 30分後に、友人はあなたに電話をかけ直します。</li>



<li><strong>電話を受けた時（コールバック関数の実行）</strong>: あなたは、電話がかかってきた時点で、何か特定の行動を取ります（例えば、話を聞く、情報を共有するなど）。</li>
</ol>



<p>この例では<strong>コールバック関数</strong>は「後で呼び出される約束（関数）」です。この約束（関数）は、事前に指定された条件が満たされた時（この場合は30分経過した時）に実行されます。</p>



<p>敢えて非常に簡単な表現をすると、<strong><span class="marker-under">関数から呼び出される関数が「コールバック関数」</span></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 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>



<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="">// setTimeout関数は、指定した時間が経過した後に関数（コールバック）を実行します。
// ここでは、2秒後に「Hello, Callback!」とログに表示するシンプルな例です。

setTimeout(function() {
    console.log('Hello, Callback!');
}, 2000);

// 上記の例で、setTimeoutが親関数、渡された匿名関数がコールバック関数になります。
// 「2秒後に呼び出して」という約束をsetTimeoutにして、2秒後にコンソールにメッセージが表示されます。</pre>



<p>↑のコード例では、<code><span class="bold-blue">setTimeout</span></code>関数（親関数）に2つの引数を渡しています。1つ目は実行されるべきコールバック関数（匿名関数で「Hello, Callback!」を表示）、2つ目はタイマーが切れるまでの時間（ミリ秒）。このとき、コールバック関数は、指定した時間（この例では2000ミリ秒、または2秒）が経過した後に自動的に呼び出されます。</p>



<h3 class="wp-block-heading"><span id="toc2">基本的なコールバック関数</span></h3>



<p>この章では最も基本的なコールバック関数の使用方法をご説明します。関数を別の関数に引数として渡し、内部で実行します。</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="">function greet(callback) {
    console.log('Hello!');
    callback();
}

function smile() {
    console.log(':)');
}

greet(smile);

// 実行結果
// Hello!
// :)</pre>



<p>このサンプルコードでは２つの関数が定義されています：<code>greet</code>と<code>smile</code>。</p>



<ol class="wp-block-list">
<li><strong><code>greet</code>関数</strong>
<ul class="wp-block-list">
<li>引数として別の関数（コールバック関数）を受け取る。<code>greet</code>関数が呼び出されると、まず<code>"Hello!"</code>をコンソールに表示し、その後に引数で受け取ったコールバック関数（この例では<code>smile</code>関数）を実行。</li>
</ul>
</li>



<li><strong><code>smile</code>関数</strong>
<ul class="wp-block-list">
<li>関数は、コンソールに<code>":)"</code>を表示する単純な関数。</li>
</ul>
</li>
</ol>



<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 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>



<ol class="wp-block-list">
<li><code>greet(smile);</code>が呼び出され、<code>smile</code>関数が<code>greet</code>関数に引数として渡される。</li>



<li><code>greet</code>関数が実行され、最初に<code>"Hello!"</code>をコンソールに表示。</li>



<li><code>greet</code>関数の内部で、引数として受け取った<code>smile</code>関数（コールバック関数）を実行。</li>



<li><code>smile</code>関数が実行され、コンソールに<code>":)"</code>が表示される。</li>
</ol>



<p>このサンプルコードのポイントは、ある関数（この例では<code>greet</code>）の実行中に、引数として渡された別の関数（この例では<code>smile</code>）を呼び出すことで、処理の流れを柔軟に制御できる点にあります。このように、コールバック関数を使うことで、特定のタイミングで任意の追加処理を挿入することが可能になります。</p>



<h3 class="wp-block-heading"><span id="toc3">パラメータを伴うコールバック関数</span></h3>



<p>コールバック関数にパラメータを渡す方法を示します。↓のサンプルでは、引数として関数に数値とコールバック関数を渡し、計算結果をコールバック関数を通じて処理する方法を示しています。</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="">function calculate(x, y, callback) {
    const result = x + y;
    callback(result);
}

function displayResult(res) {
    console.log('Result: ' + res);
}

calculate(5, 7, displayResult);

// 実行結果
// Result: 12</pre>



<ol class="wp-block-list">
<li><strong><code>calculate</code>関数</strong>
<ul class="wp-block-list">
<li>2つの数値(<code>x</code>と<code>y</code>)とコールバック関数(<code>callback</code>)を引数として受け取ります。関数内で、これら2つの数値の和を計算し、その結果をコールバック関数に渡して実行。</li>
</ul>
</li>



<li><strong><code>displayResult</code>関数</strong>
<ul class="wp-block-list">
<li><code>calculate</code>関数から渡された計算結果を引数として受け取り、それをコンソールに表示。</li>
</ul>
</li>
</ol>



<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 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>



<ol class="wp-block-list">
<li><code>calculate(5, 7, displayResult);</code>が呼び出される。ここで、<code>5</code>と<code>7</code>が加算される数値として、<code>displayResult</code>がコールバック関数として<code>calculate</code>関数に渡される。</li>



<li><code>calculate</code>関数が実行され、<code>x</code>と<code>y</code>の和<code>12</code>を計算。</li>



<li><code>calculate</code>関数内で、計算結果<code>12</code>を<code>displayResult</code>関数に渡して、このコールバック関数を実行。</li>



<li><code>displayResult</code>関数が計算結果を受け取り、<code>"Result: 12"</code>としてコンソールに表示。</li>
</ol>



<p>ポイントは、コールバック関数を利用して計算結果を処理することで、関数の処理を柔軟に拡張できる点にあります。このようにコールバック関数にパラメータを渡すことで、関数の実行後にさまざまな処理を実行することが可能になります。</p>



<h3 class="wp-block-heading"><span id="toc4">非同期処理でのコールバック関数</span></h3>



<p>JavaScriptの非同期処理、特に<code><span class="bold-blue">setTimeout</span></code>を使用した非同期処理でコールバック関数を使用する例を示します。</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="">function delayedGreeting(callback) {
    setTimeout(function() {
        console.log('Hello after 2 seconds');
        callback();
    }, 2000);
}

function smileAgain() {
    console.log(':) Again');
}

delayedGreeting(smileAgain);

// 実行結果
// Hello after 2 seconds
// :) Again</pre>



<p>このサンプルでは、JavaScriptの<code><span class="bold-blue">setTimeout</span></code>関数の動作を模倣して、非同期処理でコールバック関数を使用する方法を示しています。</p>



<ol class="wp-block-list">
<li><strong><code>delayedGreeting</code>関数</strong>
<ul class="wp-block-list">
<li>引数としてコールバック関数を受け取る。関数内では、2秒間の待機（非同期処理を模倣）が行われ、その後に<code>"Hello after 2 seconds"</code>をコンソールに表示。最後に引数で受け取ったコールバック関数を実行。</li>
</ul>
</li>



<li><strong><code>smileAgain</code>関数</strong>
<ul class="wp-block-list">
<li>コンソールに<code>":) Again"</code>を表示するシンプルな関数。</li>
</ul>
</li>
</ol>



<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 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>



<ol class="wp-block-list">
<li><code>delayedGreeting(smileAgain);</code>が呼び出され、<code>smileAgain</code>関数が<code>delayedGreeting</code>関数にコールバックとして渡される。</li>



<li><code>delayedGreeting</code>関数が実行され、最初に2秒間待機。この待機期間は、非同期処理の完了を待つことを表しています。</li>



<li>2秒後、<code>"Hello after 2 seconds"</code>がコンソールに表示される。</li>



<li>最後に、<code>delayedGreeting</code>関数内で<code>smileAgain</code>コールバック関数が実行され、コンソールに<code>":) Again"</code>が表示されます。</li>
</ol>



<p>このサンプルコードのポイントは、非同期処理（この例では2秒間の遅延）の完了後に特定の処理（コールバック関数）を実行する方法を示している点です。このようにコールバック関数を使用することで、非同期操作が完了した後に、自動的に追加の処理を実行することが可能になります。</p>



<h3 class="wp-block-heading"><span id="toc5">複数のコールバック関数を使う</span></h3>



<p>複数のコールバック関数を使って、異なる条件下で異なる処理を実行する方法を示します。これにより、より複雑なロジックを管理できます。</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="">function fetchData(successCallback, errorCallback) {
    const data = {
        name: 'John Doe',
        age: 30
    };
    // 仮定: データの取得に成功
    if (data) {
        successCallback(data);
    } else {
        errorCallback('No data found');
    }
}

fetchData(
    function(data) { console.log('Success:', data); },
    function(error) { console.log('Error:', error); }
);

// 実行結果
// Success: {'name': 'John Doe', 'age': 30}</pre>



<p>このサンプルでは、データの取得処理を模擬して成功時とエラー時に異なるコールバック関数を実行する方法を示しています。</p>



<ol class="wp-block-list">
<li><strong><code>fetchData</code>関数</strong>
<ul class="wp-block-list">
<li>データ取得処理。成功時のコールバック関数(<code>successCallback</code>)とエラー時のコールバック関数(<code>errorCallback</code>)を引数として受け取る。関数内で、データ取得が成功したと仮定して、成功時のコールバック関数にデータを渡して実行します。データ取得が失敗した場合（この例ではシミュレートしていませんが）、エラー時のコールバック関数を実行します。</li>
</ul>
</li>



<li><strong><code>onSuccess</code>関数</strong>
<ul class="wp-block-list">
<li>データ取得が成功した場合に<code>fetchData</code>関数から呼び出されるコールバック関数。取得したデータをコンソールに表示します。</li>
</ul>
</li>



<li><strong><code>onError</code>関数</strong>
<ul class="wp-block-list">
<li>データ取得が失敗した場合に<code>fetchData</code>関数から呼び出されるコールバック関数。エラーメッセージをコンソールに表示します。</li>
</ul>
</li>
</ol>



<p>コードの実行フローは以下の通り。</p>



<ol class="wp-block-list">
<li><code>fetchData</code>関数が<code>onSuccess</code>関数と<code>onError</code>関数を引数として受け取りながら呼び出される。</li>



<li><code>fetchData</code>関数内で、データの取得が成功したと仮定（<code>data</code>変数に値が設定されているため）。そのため、成功時のコールバック関数<code>onSuccess</code>が実行される。</li>



<li><code>onSuccess</code>関数が取得したデータを引数として受け取り、コンソールに<code>Success:</code>と共に表示。</li>
</ol>



<p>このサンプルのポイントは、成功時とエラー時の処理をそれぞれ異なるコールバック関数で定義し、処理の結果に応じて適切なコールバック関数を呼び出すことで、処理の成功や失敗に柔軟に対応できる点にあります。このパターンは、非同期処理の結果に基づく複雑なフロー制御に特に有用です。</p>



<h3 class="wp-block-heading"><span id="toc6">コールバック地獄</span></h3>



<p>複数の非同期処理をネストして行う例を示します。このような書き方は「<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="">function step1(callback) {
    setTimeout(() => {
        console.log('Step 1 completed');
        callback();
    }, 1000);
}

function step2(callback) {
    setTimeout(() => {
        console.log('Step 2 completed');
        callback();
    }, 1000);
}

function step3(callback) {
    setTimeout(() => {
        console.log('Step 3 completed');
        callback();
    }, 1000);
}

step1(function() {
    step2(function() {
        step3(function() {
            console.log('All steps completed');
        });
    });
});

// 実行結果
// Step 1 completed
// Step 2 completed
// Step 3 completed
// All steps completed</pre>



<p>実際の開発では、プロミス(Promises)やasync/awaitなどのモダンな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 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 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>コールバック関数→<strong>他の関数に引数として渡される関数</strong>。</li>



<li>ある処理が完了した後に特定の動作を実行するために使用される。</li>



<li>JavaScriptの非同期処理（例えば、<a href="https://it-biz.online/it-skills/web_api/">Web API</a>の呼び出しやイベントハンドラ）でよく用いられる。</li>



<li>コールバック関数を使用することで、プログラムの流れを柔軟に制御することが可能。</li>



<li>複数の非同期処理を順序良く実行する際にも利用されるが、「コールバック地獄」という問題を引き起こす可能性がある。</li>
</ul>



<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="">// Web APIを呼び出し、結果を取得した後にコールバック関数を実行する例
function fetchData(url, callback) {
    fetch(url) // Web APIを呼び出し
        .then(response => response.json()) // レスポンスをJSON形式で解析
        .then(data => callback(data)) // 解析したデータをコールバック関数に渡して実行
        .catch(error => console.error('Error:', error)); // エラーが発生した場合の処理
}

// データ取得が成功した時の処理を定義するコールバック関数
function handleData(data) {
    console.log('Fetched data:', data);
}

// fetchData関数を呼び出し、URLとコールバック関数を引数に渡す
fetchData('https://api.example.com/data', handleData);</pre>
</div>



<div class="blank-box sticky">
<div class="speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf">
<div class="speech-person">
<figure class="speech-icon"><img loading="lazy" decoding="async" class="speech-icon-image" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" width="385" height="424" /></figure>
</div>
<div class="speech-balloon">
<p><strong>スキルアップを手軽に！<br />
<span style="font-size: 20px;">話題の<span style="color: #ff6600;">サブスク型</span>プログラミングスクールをご紹介。</span></strong></p>
</div>
</div>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3143041&amp;p_id=3614&amp;pc_id=8760&amp;pl_id=50980">SAMURAI TERAKOYA</a><img loading="lazy" decoding="async" style="border: none;" src="//i.moshimo.com/af/i/impression?a_id=3143041&amp;p_id=3614&amp;pc_id=8760&amp;pl_id=50980" width="1" height="1" /></strong></span><br />
<span class="marker-under"><strong>月額2,980円</strong></span>から始める－入会金不要/途中解約自由。<span class="marker"><strong>無料体験プラン</strong></span>からスタート可能！​<br />
<strong>飲み会1回分以下の料金</strong>で継続的なスキルアップを。</p>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=3134186&amp;p_id=3878&amp;pc_id=9624&amp;pl_id=53722">Freeks(フリークス)</a><br />
<img loading="lazy" decoding="async" style="border: none;" src="//i.moshimo.com/af/i/impression?a_id=3134186&amp;p_id=3878&amp;pc_id=9624&amp;pl_id=53722" width="1" height="1" /></strong><span style="font-size: 16px;">月額10,780円でJavaScript、Pythonなどのカリキュラムが</span></span>学び放題<span style="font-size: 18px;"><span style="font-size: 16px;">。<br />
<span class="marker-under"><strong>質問し放題</strong></span>＆<strong>転職サポート制度</strong>あり。</span></span></p>
<p><span style="font-size: 18px;"><strong><a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=4052432&amp;p_id=3249&amp;pc_id=7671&amp;pl_id=42375">ウズウズカレッジ/CCNAコース用</a></strong></span><br />
月額33,000円(税込)〜<strong>インフラエンジニア</strong>の登竜門「CCNA」取得を目指す。<br />
コース受講→<strong><span class="marker-under">転職成功で【実質全額無料】</span></strong>（最大240,000円）</p>
</div>

]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
