考慮:總是使用表達式中最少的字符返回truthy的最有效方法?
(1);
(0);
(-1);
("a string");
("");
(null);
(undefined);
什麼可以放在括號前面總是返回truthy值。
一個函數定義爲
var a =() => true;
將工作。因此,將這個字母放在列表中的每個項目的前面,每個項目都會返回true(一個thruthy值),因爲這會創建一個對「a」的函數調用。但是這需要每次調用一個函數。
a(1);
a(0);
a(-1);
a("a string");
a("");
a(null);
a(undefined);
有沒有更有效的方法來做到這一點。我試過了 !!這對於錯誤的值不起作用。也嘗試〜代字號,但不會在(-1)上產生0和兩個波形符號~~但這不會在(0)上工作。任何其他可以用來總是返回真值的符號,或者是唯一能夠做到這一點的函數?
尋找一個答案,使用1或2個字符,但不涉及調用函數。使用node.js這樣ES6的答案會有效果,如果有的話。
有什麼實際使用情況的呢? –
true || (1); true || (0); true || (「一個字符串」); true || ( 「」); true || (未定義); :) – Ninjaneer
@ Mike McCaughan與控制流有關。 – esnm