JavaScript 再入門

JavaScript 再入門(その18) モジュール import / export

はじめに モジュール構文 import / export *ES2015 は、モジュールの機能を共有することができます。開発システムが複雑化するとプログラムを複数に分割して開発することになります。汎用的に使われるクラスや関数やオブジェクトを、プログラムファイルとして保存しておき、複数のプログラムでコードとロジックを共有することで、開発工…

JavaScript 再入門

JavaScript 再入門(その17) オブジェクト 4 オブジェクト間の継承

はじめに 前の記事に続き、オブジェクトのプロトタイプについての説明が続きます。前回はコンストラクタ関数を使ってのプロトタイプチェーンの利用について説明しました。class キーワードの中でどのような継承が行われているか、おぼろげながらでもイメージがつかめれば良いです。多分プロトタイプをガシガシ使ってコードを書くことはまずないと思われます…

JavaScript 再入門

JavaScript 再入門(その16) オブジェクト 3 コンストラクタ関数

はじめに 前の記事に続き、オブジェクトのプロトタイプについての説明が続きます。前回は継承とプロトタイプチェーンの動作が理解しやすいように、オブジェクトを Object.create() を使って説明しました。今回はコンストラクタ関数を使ってのプロトタイプチェーンの利用です。より class キーワードを使ったクラスベースに近い説明となる…

JavaScript 再入門

JavaScript 再入門(その15) オブジェクト 2 継承とプロトタイプチェーン

はじめに これからオブジェクトのプロトタイプについての説明が続きますが、前の記事でも書いたように、ES2015 以降 class キーワードが導入され、クラスベースに近いコードが許されるようになりました。これはシンタックスシュガー(糖衣構文:ある構文を簡略化したり可読性をよくするための記法)であり、あくまでもJavaScript はプロ…

JavaScript 再入門

JavaScript 再入門(その14) オブジェクト 1 概要とデータ構造

JavaScript は、オブジェクトベース言語 JavaScript のオブジェクトを説明するのに非常に悩ましい部分があります。 PHP の連想配列や C++ のハッシュテーブル等と同じような働きをするデータ構造の側面と、PHP や C++ / JAVA のようなクラスベース言語ではなく、クラスを使用せずにオブジェクトの protot…

JavaScript 再入門

JavaScript 再入門(その13) 関数

関数の宣言 JavaScript には、関数の宣言方法が、大きく分けて3つの方法があります。 function を利用した関数宣言無名関数(関数式)での宣言アロー関数式による宣言 function を利用した関数宣言 // 平均値を求める関数 function ave( argA , argB ) { return retArg = (…

JavaScript 再入門

JavaScript 再入門(その12) 配列の複製

= だけで代入して複製 配列を = で代入すると、どちらか一方の要素の値が変わると双方の値が変わります。 let ary = [ '車寅次郎' , '諏訪さくら' , '諏訪博' , '諏訪満男' , 'タコ社長' , '御前様…

JavaScript 再入門

JavaScript 再入門(その11) 配列

配列の定義と初期化と要素の長さの取得 配列を定義するには new Array と [] があり、定義済みの変数に対しては配列として初期化します。配列には、配列の長さ(配列の一番大きな添字より1大きい値)を取得するプロパティ array.length が用意されています。 配列を new Array で定義 // 配列の定義 let ar…

JavaScript 再入門

JavaScript 再入門(その10) ループ

JavaScript の ループ処理には while と for の2つがあります。 while while ループは評価が true の間、ループの処理(イテレーション)を繰り返します。 while ( 評価 ) { イテレーション // 評価が true の間 ループの処理を繰り返す } let i = 0 ; while ( i …

JavaScript 再入門

JavaScript 再入門(その9) 条件分岐 if

JavaScript の if 文はカッコ内の式を評価して、結果を Boolean型 に変換し true であれば処理を実行します。false であれば else の処理を実行します。 let x = 'JavaScript' ; if ( x == 'JavaScript' ) { // tru…