JavaScriptについて
2.3.4 文とぶんの区切りのセミコロン
・文と文を区切るにはセミコロンを使う
・しかし省略可能
・プロジェクトによってはeslintなどルールが決まっていることが大半
2.3.5 コメント
//でコメントアウト
3.1変数
-変数とはプログラミで使われる値を名前付きで管理するラベルのようなもの
3.2 変数と定数
-変数は宣言することによって初めて、変数名で値を管理できる状態になる
3.2.2 変数の本質
-プログラム上で使用される値は全てメモリ上で保管されており、メモリ上の場所はアドレスと呼ばれる数値で表現される(メモリは、メモリ空間、メモリスペースともいう)
-アドレスを保持しているのが変数である。
変数は値そのものではなく、あくまで値の保存先の場所(アドレス)を保持しいていることを覚えておく。「変数は値への参照を保持している」
3.2.3 値の代入
変数に別の値が代入されると、変数が保持しているアドレスが(代入された値のアドレスに)切り替わります。
3.2.4 変数のコピー
値が格納されているアドレスがそのまま受け渡されます。
let hello ="こんにちは"
let greeting = hello;
greeting ="さようなら"
console.log( greeting);
> さようなら
3.2.5 定数
値を変更できない変数を定数と呼びます。定数を宣言するにはconstというキーワードを使用します。
count greeting = "こんにちは"
greeting = "さようなら"
window.alert(greeting);
3.3 識別子の命名規則
変数名は識別子と呼ぶこともあります。
3.3.1 識別子の命名規則
・予約語は使用できない
3.3.2 識別子の現実的な命名規則
3.3.3 一般的な識別子の命名規則
・スネークケース
スネークケースでは、単語と単語をアンダースコア(_)を結合し、すべて小文字で表現する。
・キャメルケース
キャメルケースでは、単語と単語を結合して、1つ目の単語は小文字で始め、2つ目以降の単語の先頭は大文字にする
・パスカルケース
パスカルケースは、キャメルケースと似ていますが、一番最初の単語も大文字で始める。
3.4 データ型
・stringとnumberとかnullとかの話
プリミティブ型→オブジェクト以外のデータ型
非プリミティブ型→オブジェクト
3.4.2 リテラル
-文字列リテラル
'こんにちわ'
"こんにちわ"
-数値リテラル
150
-43
1.1
-真偽値リテラル
true
false
-nullリテラル
null
-オブジェクトリテラル
{
name:"",
age: 15
}
配列リテラル
[ 0,1,2,3,4,5]
正規表現リテラル
/ab + c/
関数リテラル
let abc = function(){ …}
3.5 プリミティブ型
3.5.1 文字列(String)
'これは文字列です。';
"これは文字列です";
'これは文字列です';
// 良い例
console.log('今日のおかずは"ウニ"だ!!')
>今日のおかずは"ウニ"だ!!
"今日のおかずは'ウニだ!!'"
エスケープシークエンスの一覧で確認(P57)
3.5.2数値(Number)
数値(Number)のデータ型
10進数
10進数で数値を表す場合には、0以外の数値から始めます。
浮動小数点リテラル(.)を使うことで、小数点以下の数値を表現できる。
2進数
先週に0bをつけることで、2進数で数値を表す。
8進数
先頭にゼロオーまたは0をつけることで、8進数で数値を表す。
16進数
console.log(0x11)
3.5.3 Bigint
// number型では正常処理の範囲外のため、誤った値が表示される
console.log(2 ** 53 + 1);
// BigInt型であれば問題なく表示可能
console.log(2n ** 53n + 1n );
> 9007199254
3.5.4真偽値
true
falseのやつ
let isHungry = true;
if( isHungry){ window.alert("お腹が減りました。");}
3.5.5 null
nullは参照を保持してないことを指す。つまり「変数が空である」
3.5.6 undefined
nullは参照を保持してないことをさすが、undefinedは変数が未定義であることを表している。変数を宣言する時に値を代入しない場合には、undefinedはプログラミによって自動的に設定されることを覚えておく。
let name;
console.log(name);
>undefined
3.6オブジェクト
3.6.1オブジェクトの初期化
JavaScript