if 的特殊值
if () {console.log('test SyntaxError')} // SyntaxError
/* 这些情况下都会返回false */
if (false) {console.log('test false')} // false
if (0) {console.log('test 0')} // false
if ('') {console.log("test ''")} // false
if (null) {console.log('test null')} // false
if (undefined) {console.log('test undefined')} // false
/* 你以为返回false,实际返回true */
if ([]) {console.log('test []')} // true
if ({}) {console.log('test {}')} // true
if (true) {console.log('test true')} // true
if (1) {console.log('test 1')} // true
if ([1, 2, 3]) {console.log('test [1, 2, 3]')} // true
if ({k1: 'v1'}) {console.log("test {k1: 'v1'}")} // true
本文深入探讨了JavaScript中if语句的特殊值处理,包括如何判断false、0、空字符串、null、undefined等值,以及意外返回true的情况,如空数组、空对象、true、1、非空数组和非空对象。
770

被折叠的 条评论
为什么被折叠?



