変数の挙動
プログラムで使われる値は全てメモリ上に保管されている。
変数とは、番地への参照をするようなものである
変数に別の値が代入されると変数が保持されているアドレスが代入された値のアドレスに切り替わる
constは参照がロックされるイメージ
再代入できない
データ型
プログラムで扱うデータにはいくつかの種類があり、そのデータの種類のことをデータ型または型と呼ぶ
データ型は大きく、次の2つに分類される
Primitive型 stringなど
非Primitive型 オブジェクト
プリミティブとは、原始的なという意味である
Javascriptのオブジェクトについて
オブジェクトとはプロパティと呼ばれる値を格納する
オブジェクトとは、変数を管理する入れ物のようなものである
オブジェクトは複数の値を1つのまとまりとして管理できる
オブジェクトから値を取得変更する場合には、次の方法を使用できる
ドット記法
ドット記法では、オブジェクトとプロパティーを.でつなぐことで、オブジェクトの値の取得変更ができる
ブラケット記法
ブラケット記法ではオブジェクトの後ろに[]を続けてその中に文字列でプロパティ名を記述する
Reflect.get() またはReflect.set()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set
メソッド
プロジェクトでは特定の処理を行う機能を追加したい場合、関数を登録できます
また、オブジェクトに保持される関数は** メソッド **という
コールバック関数
関数はオブジェクトの1種なので、オブジェクトのように他の関数の引数として渡すことができます
この引数で渡される関数のことをコールバック関数と呼ぶ
→引数で関数を渡すとは?
具体例:
function greet() {
console.log("Good morning!");
}
// 2秒後に `greet` 関数を実行する
setTimeout(greet, 2000);
無名関数を使ったコールバック関数
コールバック関数を定義する時は無名関数と呼ばれる関数をたびたび使う
無名関数とは名前がない関数のことである
無名関数は複数回呼ばれることを想定していない
無名関数を使ってコールバック関数を定義してみよう
setTimeout(function(){
console.log("こんにちは");
},3000);
アロー関数
アロー関数とは無名関数の省略記号
コールバック関数に使う無名関数をアロー関数に書き換える場合次のように記述できる
///無名関数
setTimeout(function(){
console.log("こんにちは");
}, 1000 );
// アロー関数
setTimeout(() => console.log("こんにちは"), 1000);
いい省略だ
非同期処理
作業の完了を待たずに別の作業をすることを非同期処理と呼ぶ