Upgrade to Pro — share decks privately, control downloads, hide ads and more …

javascriptの基本からjavascriptを使った動的な動きについて柔軟に対応できる力...

Avatar for BigWestGang BigWestGang
December 12, 2018
26

 javascriptの基本からjavascriptを使った動的な動きについて柔軟に対応できる力をつけるjs勉強会 第一回

javascriptの変数について学習します。

Avatar for BigWestGang

BigWestGang

December 12, 2018

Transcript

  1. 宣⾔と同時に⾏うケース var arg = 1 let arg2 = 1 const

    arg3 = 1 宣⾔と別々に⾏うケース var arg let arg2 arg = 1 arg = 2
  2. javascript の⾔語的特徴として、ほぼなんでも変数に格納すること ができる。 この格納する数値や⽂字列などのことを、 値 という。 const integer = 1

    // 数値 const string = '⽂字列' // ⽂字 const bool = true // 真偽値 const mu = null // 無 const func = function() {} // 関数。 ※関数ってなぁに?については後⽇やります。
  3. Number 型 Number 型は -(2^57-1) ~ 2^57-1 までの数値です。 多⾔語学習者が⼀番困惑する点なのですが、 整数

    だけではなく、 浮動⼩数点数値 にもなりますし、 +⽅向∞(+Infinity) や -⽅向∞(-Infinity) 、NaN(not-a-number)とい う、記号も Number 型に含まれます。 ※後者3つは主にエラーとして、使われるケースが多い
  4. 配列について 配列 とはプログラミング⾔語において、データ項⽬を並べた表現 形式のことです。 以下のように記述します。 const number = [1, 2,

    3, 4, 5] const string = ['apple', 'banana', 'cherry'] const mixed = [1, 'apple'] また、 配列 の中に 配列 を持つ事を他多次元配列といいます。 const array = [ [1, 2, 3, 4], [5, 6, 7, 8], ['apple', 'banana', 'cherry'] ];
  5. 次に、参照型の挙動を⾒ていきましょう 下記のような、配列を宣⾔すると・・・ const array = [0, 1, 2] 内部的に、変数にはアドレスがセットされます 変数

    アドレス array <#001> アドレス 値 <#001> [0,1,2] つまり、実質的に変数に結びついているのは アドレス です。
  6. 変数 アドレス array <#001> array2 <#001> アドレス 値 <#001> [0,1,2]

    これでどういう事が起きるかというと・・・
  7. const の再代⼊のアレコレ javascript における再代⼊とは根本の変数の型が変化するような状 態にのみ適⽤されるため、 下記のような場合はエラーになりません。 const obj = {

    key1: 0, key2: 1, key3: 2, } obj.key3 = 0 console.log(obj) // {key1: 0, key2: 1, key3: 0} かなり便利かつ安全に使えるので、基本は const を利⽤する。 再代⼊が必要なケースでは let を使⽤する。と覚えておいてくだ さい。
  8. const arr = [] for (let i=0; i < 2;

    i++) { arr.push(function(){return i}) } console.log(arr.map(function(e){return e()}))// [2, 2] for (const v in [1, 2]) { } // エラー︕ こういう環境差異が起きないように、babelというツールを使⽤し てビルドするのが最近のjsの主流となっています。 ビルドについては、第13講座で実施予定です。 次回は条件式について詳しく学んでいきます。