data types, let, hoisting


参考動画:夢のコードby Elly(https://www.youtube.com/watch?v=OCCpGh4ujb8&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=3)

1.可変変数


JavaScriptで変数を宣言するときにletキーを使用
'use strict';

let name = 'yujin';
console.log(name);
name = 'hello';
console.log(name);
次はconsoleウィンドウで表示される出力値です.

Block scope


カッコで生成されたブロック内にコードを記述すると、ブロック外ではアクセスできません.逆に、ブロックの外で直接ファイルで定義される変数をglobal scopeと呼びます.彼らは街の内外のどこでも歌うことができます.
'use strict';

let globalName = 'global name';
{
    let name = 'yujin';
    console.log(name);
    name = 'hello';
    console.log(name);
    console.log(globalName);
}
console.log(name);
console.log(globalName);

3. Constant


宣言後に変更できない値.
安全で、後で他の人が私のコードの修正を受け取った時に間違いを防ぐことができます.
const daysInWeek = 7;
const maxNumber = 5;

4. Variable types

  • primarive:より小さな単位で分割できない単一項目(number、string、boolean、null、undefiedn、symbol)
  • object:個々のアイテムを1つのボックスに結合し、それらを管理します
  • function:JavaScriptでは、関数を他のデータ型のように変数に割り当てることもできます.これをfirst-class関数と呼びます.
  • number


    cまたはJavaとは異なり、JavaScriptではnumberタイプがすべての数値を宣言できます.また、宣言がletの場合、番号を書き込むことなく自動的に宣言されます.
    const count = 17;
    const size = 17.1
    console.log(`value: ${count}, type: ${typeof count}`);
    console.log(`value: ${size}, type: ${typeof size}`);

    *少し特別な価格
    const infinity = 1 / 0;             //무한대
    const negativeInfinity = -1 / 0;    //음의 무한대
    const nAn = 'not a number' / 2;     //숫자가 아닌 경우
    console.log(infinity);
    console.log(negativeInfinity);
    console.log(nAn);

    string


    1文字でも何文字でもstring.+2つの文字列を接続することもできます.
    const char = 'c';
    const user = 'yujin';
    const greeting = 'hello ' + user;
    console.log(`value: ${greeting}, type: ${typeof greeting}`);
    const helloBob = `hi ${user}`;                    //template literrals
    console.log(`value: ${helloBob}, type: ${typeof helloBob}`);

    boolean


    false: 0, null, undefined, NaN, ''
    true:上を除く
  • null VS undefined
    null:空に指定
    未定義:未指定の値を宣言
  • symbol


    ユニークな識別子を作成します.
    stringが同じ文字列の場合、同じ識別子とみなされますが、記号は違います.
    //같은 문자열도 다르게 인식
    const symbol1 = Symbol('id');
    const symbol2 = Symbol('id');
    console.log(symbol1==symbol2);
    
    //동일한 symbol로 만들고 싶은 경우
    const gsymbol1 = Symbol.for('id');
    const gsymbol2 = Symbol.for('id');
    console.log(gsymbol1==gsymbol2);