2020-08

スポンサーリンク
JavaScript

JavaScript | デフォルト引数

JavaScriptのデフォルト引数「引数を渡し忘れても、賢く初期値が入る仕組み」がデフォルト引数です。関数のパラメータに「= 値」を書いておくと、その引数が未指定または undefined のときに、その値が自動で使われます。基本の使い方...
JavaScript

JavaScript | 可変長引数(rest パラメータ)

プログラミングを始めたばかりだと「…(ドット3つ)」が何をしているのか戸惑いますよね。rest パラメータは「引数の数が決まっていなくても関数で受け取れる」便利な仕組みです。例を交えながら、直感的に理解できるように説明します。基本の考え方と...
JavaScript

JavaScript | コールバック関数 と 高階関数

主な内容の要点JavaScriptでは「関数」を変数に入れたり、関数に渡したり、関数から返したりできます。こうした仕組みを使うと「コールバック関数」や「高階関数」が扱えるようになり、非同期処理やイベント処理でとても役立ちます。基本の考え方関...
JavaScript

JavaScript | 「メモ化」を使って再帰関数を高速化する方法

ここでは、「メモ化(memoization)」を使って再帰関数を高速化する方法を、ステップ実行(呼び出しの流れを1つずつ追う)つきでわかりやすく解説します。そもそも「メモ化」とは?メモ化(memoization)とは一度計算した結果を「メモ...
JavaScript

JavaScript | 「再帰関数」でツリー探索(Tree Traversal)

では今回は、再帰の「本領発揮」分野である ツリー探索(Tree Traversal) を、プログラミング初心者でも「実感して理解できる」ように、段階的にやさしく解説します。1. まず「ツリー構造」ってなに?ツリー構造とは、「親 → 子 → ...
JavaScript

JavaScript | 再帰関数

主な内容の要点再帰関数とは「関数の中で自分自身を呼び出す関数」のことです。無限ループにならないように「終了条件」を必ず書くのが大事です。代表的な使い方は「階乗の計算」など、同じ処理を繰り返しながら少しずつ問題を小さくしていく場面です。再帰関...
JavaScript

JavaScript | 関数関連の便利な仕組み・プロパティ

関数まわりの「ちょっと特殊な性質」を整理しておくと、JavaScript の理解がグッと深まります。初心者向けに、代表的なものをわかりやすくまとめますね。関数関連の便利な仕組み・プロパティ1. arguments オブジェクト何か?関数の中...
JavaScript

JavaScript | 関数で受け取る引数の数を取得する

主な内容の要点JavaScript の関数には .length プロパティがあり、「その関数が定義時に受け取る引数の数」を調べることができます。ただし、実際に呼び出したときに渡された引数の数ではない点に注意が必要です。基本ルール書き方は 関...
JavaScript

JavaScript | 関数(関数定義)を 文字列として取得する方法

主な内容の要点JavaScript では、関数に対して .toString() を使うと、その関数の「中身(定義内容)」を文字列として取り出すことができます。つまり、関数がどんなコードで書かれているかを文字列として確認できるのです。ポイント...
JavaScript

JavaScript | arguments を Array に変換して …rest と同じように扱う方法

ここでは「arguments を Array に変換して、...rest と同じように扱う方法」を初心者向けに、図+実験つきでわかりやすく解説します。なぜ変換が必要なの?arguments は「配列のように見えるけど、配列ではない」特別なオ...
JavaScript

JavaScript | arguments の内部挙動

arguments の「内部でどう動いているか」は、見た目より少し複雑で、実装や ECMAScript(仕様)のルールに依存します。ここでは 初心者〜中級者が知っておくと役立つレベル に噛み砕いて、実例と仕様的な要点を混ぜて説明します。1....
JavaScript

JavaScript | arguments と strict mode の関係

arguments オブジェクトは 「通常モード」と「strict mode(厳格モード)」 で挙動が変わります。これは初心者がつまずきやすいポイントなので、やさしく整理して説明します。まず前提:strict mode(厳格モード)とは?s...
JavaScript

JavaScript | arguments オブジェクト と 可変長引数(rest パラメータ) を比較

では arguments オブジェクト と 可変長引数(rest パラメータ ...rest) を、初心者向けにわかりやすく比較してみましょう。基本的な違い項目arguments オブジェクト...rest パラメータ使える場所通常の関数の...
JavaScript

JavaScript | 関数で使う arguments オブジェクト の使い方

主な内容の要点JavaScript の arguments オブジェクトは、関数に渡された引数をまとめて扱える特別な仕組みです。引数の数が決まっていなくても、arguments を使えばすべての値を取り出せます。ただし アロー関数では使えな...
JavaScript

JavaScript | クラスの継承・オーバーライド・super とアロー関数の関係

では、クラスの継承・オーバーライド・super とアロー関数の関係を具体例で詳しく解説します。ポイントは「プロトタイプメソッドとアロー関数ではオーバーライドの挙動が違う」ということです。1. 基本:プロトタイプメソッドでの継承とオーバーライ...
JavaScript

JavaScript | クロージャ比較の図解

ここは Function コンストラクタで作った関数 と 通常の関数(関数リテラル/関数式) の「クロージャ(外側のローカル変数を覚えるかどうか)」を視覚的に比較する図解と説明ページです。目的なぜ new Function(...) で作っ...
JavaScript

JavaScript | 初心者が JavaScript の関数を練習するなら?

初心者が JavaScript の関数を練習するなら、次の順番で学ぶのが一番わかりやすく、実践的です。ステップ1:関数宣言(function 宣言)function greet(name) { return "こんにちは、" + name ...
JavaScript

JavaScript | Function コンストラクタを使って関数を定義する

主な内容の要点JavaScript では function キーワード以外にも、Function コンストラクタを使って関数を作れる。ただし、実際の開発ではあまり使われない方法なので「こういう書き方もある」と知っておけば十分。ポイント整理関...
JavaScript

JavaScript | クラス継承でアロー関数を使うときの実務的な注意点

では、クラス継承でアロー関数を使うときの実務的な注意点を整理してみましょう。特に React のクラスコンポーネントや、イベント処理を含むクラス設計でよく出てくる落とし穴です。通常メソッド vs アロー関数(継承時の違い)通常メソッドプロト...
JavaScript

JavaScript | クラスを継承して super 呼び出しの挙動を比較(アロー関数 vs 通常メソッド)

クラス継承における super 呼び出し は、アロー関数と通常メソッドで挙動が大きく変わります。基本ルール通常メソッドクラスのプロトタイプに登録される。super を使って親クラスのメソッドを呼び出せる。アロー関数インスタンスのプロパティと...
JavaScript

JavaScript | クラス内でアロー関数とプロトタイプメソッドを大量に作った場合のメモリの違い

それでは クラス内でアロー関数(class-field)とプロトタイプメソッドを大量に作った場合のメモリの違い をわかりやすく見てみましょう。実際に JS でインスタンスを作って比較するイメージです。1. 比較の前提プロトタイプメソッド:関...
JavaScript

JavaScript | this の挙動を体系的に整理(グローバル・関数・メソッド・クラス・アロー関数)

それでは JavaScript における this の挙動を体系的に整理してみましょう。グローバル・関数・メソッド・クラス・アロー関数など、状況ごとにどう変わるかをマップのようにまとめます。1. グローバルスコープconsole.log(t...
JavaScript

JavaScript | classの継承(extends)

では「classの継承(extends)」について見ていきましょう。これを理解すると、オブジェクト指向の「再利用」と「拡張」ができるようになります。継承とは?あるクラスをもとにして、新しいクラスを作る仕組み共通の機能は親クラスにまとめ、子ク...
JavaScript

JavaScript | 関数リテラル(通常の function 式)とアロー関数の this の違い

JavaScriptにおける function式(関数リテラル) と アロー関数 の最大の違いのひとつが this の扱い です。初心者向けに整理してみますね。違いのまとめ種類this の決まり方特徴function式(関数リテラル)呼び出...
JavaScript

JavaScript | 「class構文」と「関数リテラル/アロー関数」の関係を整理

では「class構文」と「関数リテラル/アロー関数」の関係を整理してみましょう。ここを押さえると、オブジェクト指向の理解がぐっと深まります。class構文とは?JavaScriptでオブジェクトを作るための「設計図」を書く仕組み実際には「コ...
JavaScript

JavaScript | 「アロー関数の使いどころと、あえて使わないほうがいい場面」を整理

では「アロー関数の使いどころ」と「あえて使わないほうがいい場面」を整理してみましょう。これを知っておくと、実際のコードで迷わなくなります。アロー関数を使うと便利な場面配列操作map, filter, forEach, reduce などで短...
JavaScript

JavaScript | アロー関数の省略ルール

それでは「アロー関数の省略ルール」を整理してみましょう。これを覚えると、コードがさらにスッキリ書けるようになります。アロー関数の省略ルール1. 引数が1つのときはカッコを省略できる// 通常let square = (x) => { ret...
JavaScript

JavaScript | クラス内でアロー関数を使う理由

クラスの中でアロー関数を使う理由は、主に this の扱い にあります。初心者がよくつまずくポイントなので、例を交えて整理しますね。通常のメソッドとアロー関数の違い通常のメソッドclass Counter { constructor() {...
JavaScript

JavaScript | アロー関数とbindの違い

アロー関数とbindの違いを初心者向けに解説JavaScriptで「thisが思った通りにならない!」というときによく出てくるのが アロー関数 と bind。どちらも「thisを固定する」ために使われますが、仕組みと使いどころが違います。基...
JavaScript

JavaScript | イベント処理での「普通の関数」と「アロー関数」の使い分け

イベント処理での「普通の関数」と「アロー関数」の使い分けイベント処理では「クリックされた要素をthisで参照したいのか」「外側のthisを保持したいのか」で、普通の関数とアロー関数を使い分けます。基本ルール普通の関数(functionキーワ...
スポンサーリンク