export const setID = (v) => { console.log('执行setID',v); let l = v.length; switch(l) { case l < 6 : console.log('qq'); break; default: console.log('11111'); } }
v
是传入的字符串,这段代码第一个console
正常执行,第二个console
无论任何情况都不执行,现在可以肯定的是我的switch...case...
Sesuatu telah berlaku, sila beritahu saya di mana masalahnya
Tukar kepada yang berikut
Tetapi anda pasti boleh menggunakan pernyataan if:
Mengikut tulisan asal, ia sepatutnya
l
和l < 6
是否相等,l
是一个整数,表示字符串的长度,l<6
是一个布尔值,整数和布尔值是不全等的,所以永远都会走default
语句;原先写法的误区:不是
case
语句后面的为true就会执行,而是switch表达式里面的内容l
和case语句后面的内容l<6
全等时才匹配;假设v="111"
,此时l=3
l<6
为true,但是3!==true
, jadi pernyataan lalai digunakan.你的l确定是小于6的?