對不起,如果這個問題似乎老,但好奇的答案。 所以我有下面的代碼片段Javascript速記布爾類型
function halo(firstname, lastname) {
lastname = lastname || 'no last name';
console.log(firstname + ' ' + lastname);
}
function testbol(start) {
start = start || true;
console.log(start);
}
halo('jee');
halo('jee', 'tan');
testbol();
testbol(false);
的問題是:爲什麼第二testbool
功能產生true
而應該false
請參閱[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)返回的是什麼。如果'start'爲false,'start || true' is'true' – ASDFGerte
,因爲false是錯誤的...... – epascarello