读《”switch” 语句》总结-2020.05.29
学习时间:2020.05.29
学习章节:“switch” 语句
一、主要知识点
switch的使用方法- 可以用于替代多个
if判断 case的值需要严格相等,可以通过break终止,以及通过case分组
switch 语句为多分支选择的情况提供了一个更具描述性的方式。
1. switch 语句
当同层级的 if 语句多的时候,为了代码的可读性,可以选择使用 switch 语句来优化。
1.1 语法
switch 语句有至少一个 case 代码块和一个可选的 default 代码块。当 case 的值与输入 x 严格相等的时候,执行 case 下的代码块。遇到最近的 break 或执行到 switch 语句末尾终止。如果没有匹配的 case,则执行 default 代码块(如果 default 存在)。
1 | switch(x) { |
1.2 switch 语句特性
1. 缺失 break,会继续往下执行
1 | let a = 4 |
上面代码会弹出 3 次,分别打印 qhw1、qhw2、qhw3

2. switch/case 参数接受表达式
1 | let a = "1"; |
3. case 分组
1 | let a = 3; |
共享同一段代码的几个 case 分支可以被分为一组,当 a 为 3 或 5 的时候,都会执行,输出 qhw2、qhw3。
二、知识点拓展
1. == 的比较
1.1 不同类型值之间比较规则:
不同类型值比较之间,会先对值的类型做转换。

toNumber

toPrimitive

可以通过一个简单的例子来验证 toPrimitive。
1 | var obj = {}; |
1.2 相同类型值之间的比较规则:
只是比较值是否相等,没有类型转换。
2. 引用类型之间的比较
2.1 数组比较
1 | [] == ![] // true |
2.2 对象比较
1 | {} == !{} //false |