我試圖弄清楚如果一個字符串等於'foo'或'bar',從下面的測試看起來好像test4是實現這個最好的方法,但是我會想到test3是最好的方法,但是這返回false。javascript檢查str是否等於foo或是bar
爲什麼這會返回false,是否有更好的方法test4?
var arr = ['a','b','c','d','e'];
var str = 'f';
var test;
test = str == arr[0] ? true:false;
console.log('test1',test);
console.log('returns false');
test = str == 'f' ? true:false;
console.log('test2',test);
console.log('returns true');
test = str == (arr[0] || 'f') ? true:false;
console.log('test3',test);
console.log('returns false');
test = str == (arr[0] && 'f') ? true:false;
console.log('test4',test);
console.log('returns true');
test = (str == arr[0]) || (str == 'f') ? true:false;
console.log('test5',test);
console.log('returns true');
您需要定義您的「最佳」標準。測試3和4做了非常不同的事情。 – RobG