0%

008重新認識JS-Day01-筆記1

JavaScript的小小基礎知識

  1. 在ES6之前,可以透過var這個關鍵字來宣告變數。
    在ES6之後,宣告變成「變數」和「常數」,可以用var宣告變數外,也可用letconst來做宣告。

  2. JavaScript是一個「弱型別」語言(跟C語言不一樣,C語言是強型別)
    a. 變數宣告時,無須指定其型別
    b. 型別的資訊,只在「值」或「物件」本身
    c. 變數只是用來作為取得值或物件的參考

  3. 所有沒有透過var宣告的變數,都會自動變成全域變數(也就是變成window物件的屬性)。

  4. 已經被var宣告過的變數依然可以再次宣告
    ex:

    1
    2
    3
    var a = 10;
    var a = 11;
    var a = 12;
  5. let宣告的變數不能再次宣告
    ex:

    1
    2
    let m = 1;
    let m = 2; // 錯誤!!

JavaScript的變數型別

  1. JavaScript中的變數沒有型別,值才有
    ex:
    1
    let str = '你好'; // 這個例子中,str變數沒有型別,而值'你好'是string型別
  2. JavaScript支援的型別主要可以分成”基礎型別” 和 “物件型別”
    基礎型別: string、number、boolean、null、undefined
    物件型別: 除了以上提到的這些基礎型別,其他的都可以歸類成物件型別

————————-紀錄string型別的一些特性————————-

string型別

  1. 倘若單引號內要包覆單引號,雙引號內要包覆雙引號的話,會出問題
    ex:

    1
    let str = 'Let's go';   // Wrong!!

    這時我們就可以利用跳脫字元\來處理這類的問題
    ex:

    1
    let str = 'Let\'s go';  // Ok!!

    或者用雙引號包覆單引號也是其中一種解法喔~~
    ex:

    1
    let str = "Let's go";   // Ok!!
  2. 若是多行字串的話,可以透過\來連接,

    但要記得在\後面是不能有任何東西的喔,包括空白字元

    ex:

    1
    2
    3
    let str = '第一行字\
    第二行字\
    第三行字';
  3. 樣板字面值(template literal)
    在ES6之後新增了另一種樣板字面值。

    它是由反引號`所包覆,並由 一般字串 和 ${} 所組成

    a. 支援多行字串
    以往多行字串都需要用\來連接,但換成樣板字面值語法就不用在加\連接了。
    ex:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    --以往的多行字串--
    let str = '第一行字\
    第二行字\
    第三行字';


    --樣板字面值語法--
    let str = `第一行字
    第二行字
    第三行字`;

b. 允許將變數直接嵌入字串中
過去的字串與變數組合,需要透過加號+來組合
ex:

1
2
let age = 20;
let str = 'I am ' + age + 'years old.';

使用樣板字面值語法
ex:

1
2
let age = 20;
let str = 'I am ${age} years old.';

甚至我們也可透過樣板字面值語法直接將運算式嵌入字串中
ex:

1
2
3
let a = 1;
let b = 2;
let str = `one plus two equals ${a+b}.`;