等價於 Ruby 的 unless 的 JavaScript 中的語句
Anika Tabassum Era
2024年2月15日
在 Ruby 中,條件語句遵循 unless
約定,而大多數程式語言更喜歡 if-else
條件。好處是相似的;只是偏好是內建於每種語言中的。
除了 Ruby、Perl、CoffeeScript 等,請使用 unless
語句。
在這裡,在我們的例子中,我們將視覺化具有 unless
定義的一般 if-else
語句的應用。這意味著我們將配置我們的 if-else
語句,使其行為類似於 unless
語句。
為了驅動,我們將生成一個名為 unless
的函式,並且我們將使用直接 if-else
來執行 unless
語句的操作。
建立一個使用者定義的函式以在 JavaScript 中實現 unless
語句
我們將在此處建立的函式將具有一個條件。此外,基於該條件,我們將生成另一個回撥函式來推斷函式的可滿足性。
讓我們看一下程式碼行以便更好地理解。
程式碼片段:
let unless = (condition, callback) => {
!condition && callback();
} let a = 10;
let b = 20;
unless(a > b, () => {console.log('A should be greater than B')})
輸出:
如你所見,函式除非
接受一個條件。在我們的例子中,條件是 a 小於 b
。
但是 unless
函式是取反的,當我們設定條件為 a>b
時,它會接受它並觸發回撥函式進行操作。但是根據一般的 if-else
語句的場景,它不應該觸發回撥函式,因為條件屬於 else
語句。
否定 if-else
語句以在 JavaScript 中實現 unless
語句
這部分比較容易掌握和實施。你只需將 if
工作設定為 else
並將 else
工作設定為 if
。
無論對 if
應用什麼條件,都將預先否定,因此,else
將被自動定義。讓我們嘗試使用程式碼來演示這種情況。
程式碼片段:
var a = 42;
var b = 10;
if (!(a > b)) {
console.log('Incorrect');
} else {
console.log('Correct');
}
輸出: