JavaScript中的問號判斷是指三元操作符(ternary operator)或條件操作符(conditional operator): ? 。它允許開發者在代碼中使用條件語句并返回不同的結果。
語法格式為:condition ? expression1 : expression2。當condition為真時返回expression1,當condition為假時返回expression2。
// 例1:判斷年齡是否能參加某項活動 let age = 18; let canJoin = age >= 18 ? "可以參加活動" : "不可以參加活動"; console.log(canJoin); // 輸出:可以參加活動 // 例2:判斷今天是星期幾 let today = new Date().getDay(); let dayOfWeek = today === 0 ? "星期日" : today === 1 ? "星期一" : today === 2 ? "星期二" : today === 3 ? "星期三" : today === 4 ? "星期四" : today === 5 ? "星期五" : "星期六"; console.log(<code>今天是${dayOfWeek}</code>); // 輸出今天是星期幾
在例1中,如果age大于等于18,canJoin將被賦值為“可以參加活動”,否則賦值為“不可以參加活動”。
在例2中,我們首先獲取了當天的星期數(0代表星期日,1代表星期一,以此類推),然后使用了多層問號判斷語句,根據當天是哪一天來輸出正確的星期數。
問號操作符可以嵌套多層,但要注意代碼可讀性和語句的長度。如果嵌套太深,不僅會導致閱讀困難,也會降低代碼的可維護性。
在使用問號操作符進行條件判斷時,需要注意以下幾點:
- 1. 操作符需要有兩個表達式和一個條件,不可省略這三個部分。
- 2. 問號判斷不會改變原有變量的值,而是返回一個新的值。
- 3. 如果條件表達式為字符串、數字、布爾值、null、undefined等原始類型,將自動轉換為布爾值。
- 4. 可以根據需要拆分多個問號判斷語句。
- 5. 如果需要返回的表達式較為復雜,可以將其放入括號中。
總之,問號判斷是JavaScript中非常常用的一個操作符,能夠幫助我們在代碼中進行條件判斷,返回不同的結果,十分實用。