---
# System prepended metadata

title: 字串型別
tags: [Javascript]

---

###### tags: `Javascript`

# 字串型別

## 宣告字串流程
- 用單引號 '' 或 雙引號 "" 把字串包起來。
- 如果字串沒有包起來，程式判斷錯誤，以為是不是變數名稱
- 統一用單引號或雙引號，程式比較美觀
```javascript=
let a = 'hello';
let b = "你好嗎？"
console.log(a, b);
```

- 哪些時機需判斷要用單引號或雙引號？
```javascript=
let c = "let's go！" //當字串裡已有單引號的話，那外面就一定要用雙引號包起來。
console.log(c);
```

## 一次搞懂字串相加
字串相加前後連成一個句子
```javascript=
let friendName = "Tom";
let content = "你好嗎？";
let total = friendName + " " + content; //" " 雙引號裡面放一個空白間隔，讓句子較美觀
console.log(total);
```

## 使用typeof來查詢變數的資料型別
```javascript=
let age = 18;
console.log(typeof age); //number，此變數是數字型別

let ageString = "18";
console.log(typeof ageString); //string，此變數是字串型別
```


## 數字有時候會自動轉型
- JavaScript有些情況下會貼心幫你<font color="#f00">轉型</font>。
- 以下程式碼裡的total是字串型別與數字型別的相加，但 typeof 去查詢型別時，total變成字串型別。
```javascript=
let myName = "Tom";//字串
let age = 20;//數字

//JavaScript有些情況下會貼心幫你轉型
let total = myName + age;
console.log(typeof total);//string

```
以下是字串與數字相加範例：
```javascript=
let nickName = "小美";
let kg = "55";
console.log("我體重" + kg + "公斤，我是" + nickName);
//我體重55公斤，我是小美

```


# 字串處理實用方法

## 算出變數長度 length

```javascript=
let a = "mark";
console.log(a.length); //長度總共4個
```

## 把變數裡的空白濾出來 trim()
()代表要執行這個程式

```javascript=
let myEmail = "  123@gmail.com";
console.log(myEmail.trim()) //123@gmail.com，就會把前面的空白濾掉
```
