JavaScript コア言語 他
背景
JavaScriptの学習について。
今までは無料プログラミング学習サイト「ドットインストール」(※一部有料)などを使って、とりあえずコードを模写して「勉強やった感」だけを出して終わっていた気がする。
なので、まずは基本から固めたい。
JavaScript コア言語
データ型:
オブジェクト・・・名前と値のペア。中括弧{}で囲む。
標準オブジェクト:Array, Function(※関数function(){}とは別物), JSON, Mathなど
配列・・・[]で囲む。
式(Expression 語句のようなもの)・・・評価すると値が作り出される表現(例:オブジェクトのプロパティにアクセスするため「.」を使っているもの など)
演算子・・・式を作成する時に使用(四則計算の算術演算子、等値演算子、論理演算子 など)
インクリメント(デクリメント)演算子・・・算術演算子の短縮表記法の一つ。値を1だけ増加(減少)させる。
例:
var count = 0;
count++; // 1 インクリメント演算子。
count--; // 1-1=0 デクリメント演算子。
文(statement)・・・セミコロンで終わるもの。変数の宣言(例 var count = 0;)、代入文(例 var x = 2, y = 3)、制御文(条件文やループなど)
※制御文 ループ 使用例を実際にコーディングし確認(DAY 9課題回答時の反省から、ここを重点学習)
式と文の違い・・・一般的に、式は値を計算するがそれ以外は何もしないのでプログラムの状態を変えない。一方、文は値を持たないがプログラムの状態を変化させる。
関数・・・引数を渡して呼び出すことのできるJavaScriptコードブロックで、値。
// 関数呼び出しの例
function plus(x) { return x*x; } // ※末尾セミコロン不要
// ※return: 文の一つ。関数の実行を終了して、関数の呼び出し元に返す値を指定する。
plus(y) // 引数xがyになった関数を呼び出す。
また、値なので変数に代入も可能(例 var square = function(x){ return x*x; }; ←要セミコロン)
引数・・・関数に様々な値を渡す役割
メソッド・・・関数とオブジェクトが組み合わさったもの。末尾に要セミコロン
push()メソッド(配列に要素を一つ以上追加する)、reverse()メソッド(要素の順序を反転させる)などがある。また独自にメソッドを定義することも可能。
// animalという名前の変数を宣言、animalという変数=左辺の配列
var animals = ['pigs','goats','sheep'];
animals.push('chickens'); // animalという名の配列の末尾に'chickens'という要素を追加
console.log(animals); //アウトプット: Array ["pigs", "goats", "sheep", "chickens"]
Function save() { } みたいに書いたり、if文の括弧の中に書いたりする。
オブジェクト指向言語
JavaScriptはオブジェクト指向言語である。
オブジェクト指向・・・変更されない箇所を軸に、頻繁に変更される箇所をクラスに抽出する(←この解釈であっているのか??)
こういう概念的なものに対する理解、プログラミングに当たっては避けて通れない道のようなのだけれど、うん十年かかっても掴み難いものだったりもするみたい。