ประเภทที่อ่อนแอของ JS ทำให้ผู้คนรู้สึกว่ามีหลายสิ่งที่ทำให้เกิดความสับสนเช่นว่าตัวแปรนั้นเป็นจริงหรือเท็จในสภาพถ้า หากตัวแปรของประเภทที่ไม่ใช่ boolean ถูกวางไว้ในสภาพ IF ในภาษาที่พิมพ์อย่างมากต้องใช้การแปลงประเภท แต่ JS ไม่ต้องการ ลองทดสอบด้านล่างเพื่อทดสอบประสิทธิภาพของประเภทตัวแปรทั่วไปในสภาพ IF
! function test1 () {<span style = "color:#ff0000;"> var a, b = -1, c = 1, d = 0, e = null, f = undefined, g = '', h = ""; </span> ถ้า (! a) {console.log ('a ='+a)} console.log ("c ="+c)} ถ้า (! d) {console.log ("d ="+d)} ถ้า (! e) {console.log ("e ="+e)} ถ้า (! f) {console.log ("f ="+f)} console.log ("h ="+h)}} ()ประเภทตัวแปรต่างๆถูกตั้งค่าและวางไว้ในเงื่อนไขหากเงื่อนไขตามลำดับ
ผลการดำเนินการ
a = ไม่ได้กำหนด
d = 0
e = null
f = ไม่ได้กำหนด
g =
h =
i = false