---
# System prepended metadata

title: 強制轉型

---

# 強制轉型

```
let a = "10" + "10";
let b = "10" * "10"; //自動轉型成數字，以利進行*運算
let c = 10 + "10";//自動轉型成字串
let d = 10 * "10"; //自動轉型成數字
let e = 10 - "2";//自動轉型成數字，以利-運算
let f = "10" - "2";//自動轉型成數字，以利-運算
```

### 規則:

1.字串+數字>>強制轉型成字串

2.字串*字串 或 字串*數字 >>字串內是數字，則強制轉型成數字
>>字串被用來做數字的運算(加減乘除)，除了+之外，都會被強制轉型成數字

>>字串內非數字，被強制轉型，會變成NAN

```
let a = "小名" * 2 //NAN number

let b =  "小名" *"曉華" ; //NAN number
```

## 強制轉型  

1.明確

**方法一：使用內建函式 `String(..)` 與 `Number(..)`**

**方法二：使用物件原型的方法 `.toString()`**

2.隱性

 運算子:

   +>>除非兩個都是數字，強制轉型成字串

   **,/ > 強制轉型成數字，如果不能轉*(為裡面非數值的字串"小名") 則轉成NAN

轉成BOOLEAN

 

- if 述句中的條件判斷（或稱測試運算式 test expression）
- for 述句中的條件判斷，意即測試運算式的第二個子句
- while 與 do…while 中檢測條件是否成立的測試運算式
- 三元運算式 `條件 ? 值1 : 值2` 中的條件運算，意即測試運算式的第一個子句
- 邏輯運算子的 `||`（or） 和 `&&`（and）左手邊的運算元會被當成測試運算式

   

邏輯運算子>>會將左邊的強制轉為BOOLEAN 來做邏輯判斷