-
JavaScriptのyieldキーワードとは?ジェネレータ関数の基本と使い方を解説
JavaScriptにおけるyieldキーワードは、ジェネレータ関数(generator function)の実行を一時停止し、後から再開するために使用されます。yieldが評価されると、その式の値がジェネレータの呼び出し元へ返されます。yieldキーワードの基本的な役割通常の関数は、呼び出されると最後まで一気に実行されます。一方、ジェネレータ関数はyieldの位置で処理を中断し、次にnext()メソッドが呼ばれたタイミングで、中断した箇所から処理を再開します。この仕組みにより、必要なときに必要な分だけ値を順番に取り出すことができます。yieldを使ったコード例以下は、プレイヤーのランクを順番
-
「javascript:void(0)」とは何か?意味と使い方をわかりやすく解説
WebページにJavaScriptの式を組み込んだ際に、意図しない動作(ページの再読み込みなど)が発生することがあります。そんなときに役立つのが「javascript:void(0)」です。この記述を追加すると、undefinedというプリミティブ値が返され、不要な動作を防ぐことができます。void演算子の仕組みvoid演算子は、指定された式を評価したうえで、必ずundefinedを返す演算子です。void(0)と記述することで、数値0を評価した結果としてundefinedプリミティブ値を取得できます。つまり、処理は行われず「何も返さない」状態を実現できるのです。この特性を利用して、void(
-
JavaScriptで変数はどのようにメモリに割り当てられる?宣言と初期化の基本を解説
JavaScriptにおける変数の扱いは、C、C++、Javaなどの他のプログラミング言語とは大きく異なります。JavaScriptでは、変数を「名前が付けられたコンテナ(入れ物)」として捉えることができます。コンテナの中にデータを入れておけば、あとはコンテナの名前を指定するだけで、いつでもそのデータを参照できるのです。 変数の宣言 JavaScriptプログラム内で変数を使用する前に、必ずその変数を宣言しておく必要があります。宣言にはvarキーワードを使用し、以下のように記述します。 <script> var rank; var points; </scri
-
JavaScriptで変数を宣言するときに、データ型の定義は必要?
JavaScriptにおける変数宣言の基本 JavaScriptでは、varキーワードに続けて変数名を記述することで変数を定義します。プログラム内で変数を使用する前に、必ずその変数を宣言しておく必要があります。変数の宣言は以下のように行います。 var rank; この例では、「rank」という名前の変数を宣言していますが、まだ値は代入されていません。 データ型の指定は不要 JavaScriptでは、変数を宣言する際にデータ型を指定する必要はありません。JavaScriptは動的型付け言語と呼ばれるもので、C++やJavaのような静的型付け(強い型付け)の言語とは異なり、変数に代入された値に
-
JavaScriptの算術演算子とは?種類と使い方を実例付きで解説
JavaScriptの算術演算子とは? JavaScriptには、四則演算などの数値計算を行うための算術演算子(arithmetic operators)が用意されています。ここでは、変数Aに10、変数Bに20が代入されている場合を例に、それぞれの演算子の動作を確認していきましょう。 主な算術演算子の一覧 No.演算子と説明 1+ (加算)2つのオペランド(被演算子)を加算します。例:A + B の結果は 30 2- (減算)1つ目のオペランドから2つ目のオペランドを減算します。例:A - B の結果は -10 3* (乗算)2つのオペランドを乗算します。例:A * B の結果は 20
-
JavaScriptの比較演算子とは?種類と使い方をサンプルコード付きで解説
JavaScriptの比較演算子とは 比較演算子は、2つの値を比較し、その結果を真(true)または偽(false)で返す演算子です。if文などの条件分岐や繰り返し処理において、プログラムの流れを制御するために欠かせない基本的な要素です。 ここでは、変数Aに10、変数Bに20が代入されているものとして、各比較演算子の動作を確認していきましょう。 主な比較演算子の一覧 演算子名前説明例(A=10、B=20) ==等しい(Equal)左右のオペランドの値が等しいかどうかを判定します。等しければ条件はtrueになります。(A == B) → false !=等しくない(Not Equal)
-
「型なし」と「動的型付け」プログラミング言語の違いを徹底解説
動的型付け言語とは 動的型付け言語とは、型が実行時の値に紐づけられる言語のことです。そのため、コードを書くたびに型を明示的に指定する必要がありません。名前の通り、変数の型は「動的」であり、一度ある型の値を代入した後でも、後から別の型の値に変更することが可能です。 代表的な動的型付け言語には、Python、Perl、Rubyなどがあります。 型なし言語とは 型なし言語(動的型付け言語とも呼ばれます)は、変数の型を事前に定義することを強制しないプログラミング言語です。 JavaScriptは型なし言語の代表例です。これは、JavaScriptの変数がどのようなデータ型の値でも保持できることを意味
-
JavaScriptのvarに保存されるデータと、値を変更する方法を解説
JavaScriptのvarに保存されるデータと、値の変更方法 JavaScriptは動的型付け(ダイナミックタイピング)を採用している言語です。そのため、変数そのものにはデータ型が存在せず、代入された値がそれぞれの型(文字列・数値・真偽値など)を持ちます。同じvar変数に対して、後から別の型の値を自由に代入し直すこともできます。 押さえておきたいポイント varで宣言した変数は、特定のデータ型に固定されない その時点で代入されている値によって型が決まる typeof演算子を使うと、現在の値の型を確認できる サンプルコード 次の例では、1つの変数aに対して真偽値・数値・文字列を順番に代入し
-
JavaScriptのループ内で動的に変数名を作成する方法
JavaScriptのループ処理の中で、変数名を動的に生成したい場面はよくあります。これを実現するには、現在のスコープにプロパティを追加する方法を使います。プログラムにおける現在のスコープを参照する this を利用することで、以下のように実装できます。 for (var i = 0; i < coords.length; ++i) { this[marker + i] = add here; } このコードでは、ループが1回回るごとに「marker0」「marker1」「marker2」…という名前のプロパティが現在のスコープに順次作成されていきます。 作成した動的変数へのアク
-
JavaScriptの論理演算子とは?&&・||・! の使い方をわかりやすく解説
JavaScriptには、複数の条件を組み合わせたり、真偽値を反転させたりするための論理演算子が用意されています。代表的な論理演算子は「&&(論理AND)」「||(論理OR)」「!(論理NOT)」の3種類です。 ここでは、変数Aに10、変数Bに20が代入されている場合を例に、それぞれの演算子の動作を見ていきましょう。 JavaScriptの主な論理演算子一覧 番号演算子と説明 1 &&(論理AND)両方のオペランドが真(0以外)の場合に、条件全体がtrueになります。例:(A && B) は true。 2 ||(論理OR)どちらか
-
JavaScriptはなぜ「型なし言語」と呼ばれるのか?変数宣言の基本を解説
JavaScriptは型なし言語(動的型付け言語)に分類されます。これは、変数がどのようなデータ型の値でも保持できることを意味します。C言語やC++、Javaのように、intやcharといったデータ型をあらかじめ指定する必要はありません。 JavaScriptにおける変数の特徴 CやJavaなどの静的型付け言語では、変数を宣言する際にその型を明示する必要があります。しかしJavaScriptでは、変数には数値でも文字列でも、さらにはオブジェクトや関数など、どんな値でも自由に代入できます。同じ変数に対して、後から別の型の値を代入し直すことさえ可能です。 varキーワードによる変数宣言 従来のJa
-
JavaScriptで文字列内のすべての出現箇所を置き換える方法を徹底解説
JavaScriptで文字列の中にある特定の語句をすべて別の語句に置き換えたい場面はよくあります。本記事では、replace()メソッドと正規表現のgフラグを組み合わせて、文字列内のすべての出現箇所を一括で置き換える方法を、実際のコード例とともにわかりやすく解説します。 replace()メソッドの基本的な使い方 replace()メソッドは、文字列オブジェクトに対して呼び出し、第1引数に検索対象(文字列または正規表現)、第2引数に置き換え後の文字列を指定します。 ただし、ここで重要な注意点があります。replace()はデフォルトでは最初に見つかった1箇所だけを置き換えます。文字列中のすべ
-
JavaScriptで変数に名前を付ける方法とは?命名ルールをわかりやすく解説
変数とは何か?変数は「名前の付いた入れ物(コンテナ)」と考えることができます。この入れ物の中にデータを格納しておけば、あとからコンテナの名前を指定するだけで、簡単にそのデータを参照・利用できるようになります。JavaScriptで変数に名前を付ける際には、いくつか守るべきルールがあります。以下にそのポイントをまとめました。JavaScriptにおける変数の命名ルール1. 予約語は変数名として使えないJavaScriptがあらかじめ定義している予約語(キーワード)は、変数名として使用できません。予約語の一覧については次のセクションで紹介します。たとえば、break や boolean をそのまま
-
JavaScriptの変数の命名規則とは?守るべき基本ルールを解説
JavaScriptで変数に名前を付ける際には、いくつかの重要なルールを守る必要があります。命名規則に従わないと、コードがエラーになったり、予期しない動作を引き起こしたりする可能性があります。ここでは、JavaScriptにおける変数の命名規則について詳しく解説します。JavaScriptの変数命名の3つの基本ルール1. 予約語(キーワード)は使用できないJavaScriptにあらかじめ用意されている予約語(キーワード)を、変数名として使用することはできません。たとえば、break や boolean といった名前は無効です。予約語の一覧については、次のセクションで紹介しています。2. 変数名
-
JavaScriptの予約語とは?意味と完全一覧をわかりやすく解説
JavaScriptの予約語とは予約語(キーワード)とは、JavaScriptの言語仕様において特別な意味を持つように定められた単語のことです。これらの単語は構文の制御や命令の記述に使われるため、変数名・関数名・メソッド名・ループのラベル・オブジェクト名などには使用できません。たとえば「var」や「function」は変数宣言や関数定義に使う重要なキーワードです。もし誤ってこれらを変数名として使おうとすると、構文エラーが発生したり、意図しない動作を引き起こしたりする可能性があります。予約語を使えない場面の例変数名(例: var let = 1; はエラー)関数名・メソッド名オブジェクトのプロパ
-
JavaScriptで「var null」はエラーになるのに「var undefined」はエラーにならない理由
JavaScriptで「var null」と記述するとエラーがスローされます。これは「null」が言語仕様において予約語(予約識別子)として定義されているためです。予約語は変数名や関数名などの識別子として使用することが許されていません。 識別子として使用できないリテラル ECMAScriptの仕様では、以下のリテラルを識別子(変数名など)として使用することはできません。 null true false undefinedとは 「undefined」は、値が定義されていない状態を表すグローバルオブジェクトのプロパティです。未知の値を示すものであり、予約語ではありません。そのため、変数名として
-
JavaScriptで「class」が予約語になるのはなぜ?その理由と仕様を解説
「class」は将来のために予約されたキーワード JavaScriptでは、「class」という名前を変数名や関数名として自由に使うことができません。これは、ECMAScriptの仕様において「class」が将来のために予約された語(Future Reserved Words)として定められているためです。 ECMAScriptの仕様では、以下の単語が将来の拡張機能のために予約されています。 class enum extends super const export import これらの単語は、当時提案されていた言語拡張機能の中でキーワードとして使用される予定だったため、将来的にそれらの機能
-
JavaScriptのconstキーワードとは?使い方と注意点をわかりやすく解説
JavaScriptにおけるconstキーワードの基本JavaScriptのconstは、値が変わらない定数(読み取り専用の参照)を作成するための宣言キーワードです。一度値を代入した変数は、後から再代入したり、同じ名前で再宣言したりすることはできません。また、constで宣言された変数は、関数スコープではなくブロックスコープを持つという特徴があります。つまり、{ }で囲まれたブロック内でのみ有効なローカル変数として扱われます。constの基本的な使い方以下は、constを使って定数を宣言する例です。定数変数aに値を代入した後、新しい値を割り当てようとするとエラーになります。// a を定数とし
-
JavaScriptのNaNとは?意味とisNaN()による判定方法をわかりやすく解説
NaN(Not-a-Number)とは NaNはJavaScriptのプロパティの一つで、「Not-a-Number(数値ではない)」を表す特殊な値です。この値が返されるということは、その値が有効な数値ではないことを意味します。 例えば、次のようなケースでNaNが発生します。 0 / 0 のように数学的に定義できない計算を行った場合 parseInt("abc") のように、文字列を数値に変換できなかった場合 未定義の演算結果(Math.sqrt(-1) など)を求めた場合 なお、NaNには「自分自身と等しくない」という特徴があります。つまり NaN === NaN は
-
JavaScriptで変数がNaNかどうかを判定する方法
NaNはJavaScriptのグローバルプロパティの一つで、「非数(Not-a-Number)」、つまり数値として扱えない値を表す特殊な値です。数値演算の結果が不正になった場合などに返されます。 ある値がNaNかどうかを判定するには、isNaN()メソッドまたはNumber.isNaN()メソッドを使用します。 isNaN()とNumber.isNaN()の違い isNaN()は引数をまず数値へ変換してから判定を行うため、空文字列()やfalseなども0に変換され、「NaNではない」という結果になります。一方、Number.isNaN()は型変換を行わず、値そのものがNaNである場合にのみtr