JavaScript的小小基礎知識
在ES6之前,可以透過
var
這個關鍵字來宣告變數。
在ES6之後,宣告變成「變數」和「常數」,可以用var
宣告變數外,也可用let
和const
來做宣告。JavaScript是一個「弱型別」語言(跟C語言不一樣,C語言是強型別)
a. 變數宣告時,無須指定其型別
b. 型別的資訊,只在「值」或「物件」本身
c. 變數只是用來作為取得值或物件的參考所有沒有透過
var
宣告的變數,都會自動變成全域變數(也就是變成window物件的屬性)。已經被
var
宣告過的變數依然可以再次宣告
ex:1
2
3var a = 10;
var a = 11;
var a = 12;let
宣告的變數不能再次宣告
ex:1
2let m = 1;
let m = 2; // 錯誤!!
JavaScript的變數型別
- JavaScript中的變數沒有型別,值才有
ex:1
let str = '你好'; // 這個例子中,str變數沒有型別,而值'你好'是string型別
- JavaScript支援的型別主要可以分成”基礎型別” 和 “物件型別”
基礎型別: string、number、boolean、null、undefined
物件型別: 除了以上提到的這些基礎型別,其他的都可以歸類成物件型別
————————-紀錄string型別的一些特性————————-
string型別
倘若單引號內要包覆單引號,雙引號內要包覆雙引號的話,會出問題
ex:1
let str = 'Let's go'; // Wrong!!
這時我們就可以利用跳脫字元\來處理這類的問題
ex:1
let str = 'Let\'s go'; // Ok!!
或者用雙引號包覆單引號也是其中一種解法喔~~
ex:1
let str = "Let's go"; // Ok!!
若是多行字串的話,可以透過\來連接,
但要記得在\後面是不能有任何東西的喔,包括空白字元
ex:
1
2
3let str = '第一行字\
第二行字\
第三行字';樣板字面值(template literal)
在ES6之後新增了另一種樣板字面值。它是由反引號`所包覆,並由 一般字串 和 ${} 所組成
a. 支援多行字串
以往多行字串都需要用\來連接,但換成樣板字面值語法就不用在加\連接了。
ex:1
2
3
4
5
6
7
8
9
10--以往的多行字串--
let str = '第一行字\
第二行字\
第三行字';
--樣板字面值語法--
let str = `第一行字
第二行字
第三行字`;
b. 允許將變數直接嵌入字串中
過去的字串與變數組合,需要透過加號+來組合
ex:
1 | let age = 20; |
使用樣板字面值語法
ex:
1 | let age = 20; |
甚至我們也可透過樣板字面值語法直接將運算式嵌入字串中
ex:
1 | let a = 1; |