---
# System prepended metadata

title: JS 控制與判斷篇 - ===，嚴謹模式 & !=，不等於
tags: [JavaScript - if else 控制與判斷篇]

---

# JS 控制與判斷篇 - ===，嚴謹模式 & !=，不等於

- 何謂嚴謹模式:

```
// 1 == '1' 結果是正確的? 為什麼?

var a = 1;
var b = '1';

console.log(a == b);

// true
```

### 為何 1 == '1' ? 

- 從上面的案例來看: number 1 等於 字串 '1'，結果相當的神奇，原因是為什麼?

```
// 因為在 JavaScript 的世界來說，如果你今天在使用 == 來做判斷時，
假使來說: 如果是「字串」與 number 比較時，會自動型別來轉換，才會產生此現象
但這麼做就不是那麼嚴謹了，這邊可以補充一種寫法:

===
```


### === 嚴謹模式測試:

```
var a = 1;
var b = '1';

console.log(a === b);
// false 
```

- **嚴謹模式** === 會先判斷型別是否正確，再去確認裡面的內容(value)


### 補充說明: !=

```
!= 的意思是不等於

於 console 測試:

當:
1 == 1; // true
1 != 1 // false
```

###### tags: `JavaScript - if else 控制與判斷篇`