Javascript 使用表达式中最少的字符始终返回truthy的最有效方法?

Javascript 使用表达式中最少的字符始终返回truthy的最有效方法?,javascript,node.js,Javascript,Node.js,鉴于: 可以放在括号前面以始终返回真实值的内容 定义为 (1); (0); (-1); ("a string"); (""); (null); (undefined); 会有用的。因此,将字母a放在列表中每个项目的前面将使每个项目始终返回true thruthy值,因为这将创建对a的函数调用。但是,这需要每次调用一个函数 var a = () => true; 有没有更有效的方法来做到这一点。我试过了!!这对错误的值不起作用。还尝试了~tilde,但在-1上不起作用,结果是0和两个t

鉴于:

可以放在括号前面以始终返回真实值的内容

定义为

(1);
(0);
(-1);
("a string");
("");
(null);
(undefined);
会有用的。因此,将字母a放在列表中每个项目的前面将使每个项目始终返回true thruthy值,因为这将创建对a的函数调用。但是,这需要每次调用一个函数

var a = () => true; 
有没有更有效的方法来做到这一点。我试过了!!这对错误的值不起作用。还尝试了~tilde,但在-1上不起作用,结果是0和两个tilde~~但在0上不起作用。任何其他可以用来始终返回真实值的符号,或者函数是实现这一点的唯一方法


寻找使用1或2个字符但不涉及调用函数的答案。使用node.js以便ES6答案在有答案的情况下可以使用。

您可以使用逗号运算符,在表达式的第一部分后面包含true

console.log1,对, 0,对, 一串,对,, 符合事实的
未定义的,真实的 可以使用逗号运算符,在表达式的第一部分后面包含true

console.log1,对, 0,对, 一串,对,, 符合事实的
未定义的,真实的 只要表达式的另一端被转换成一个数字,我认为它总是这样,1 | x就永远不能返回0。所以你可以用它:

控制台log1 | 1, 1|0, 1|-1, 1 |一串, 1|, 1 |空, 1 |未定义, 1 | console.log3,
1 |无穷只要表达式的另一边被转换成一个数字,我认为它总是这样,1 | x就永远不能返回0。所以你可以用它:

控制台log1 | 1, 1|0, 1|-1, 1 |一串, 1|, 1 |空, 1 |未定义, 1 | console.log3,

1 |无限这方面的实际用例是什么?正确| 1;真| | 0;真| |一串;真的| |;true | |未定义;:@Mike McCaughan与控制流有关。@esnm 1 | |是3个字符,我怀疑你能做到better@esnm不,这与控制流无关,与难看的代码有关……这方面的实际用例是什么?正确的| | 1;真| | 0;真| |一串;真的| |;true | |未定义;:@Mike McCaughan与控制流有关。@esnm 1 | |是3个字符,我怀疑你能做到better@esnm不,与控制流无关,与丑陋的代码有关……甚至更短:!!1@juvian将返回false for!!0? 只是想用!!1@esnm但是1!==是的,或者你只是想让它成为现实truthy@juvian真的,甚至更短:!!1@juvian将返回false for!!0? 只是想用!!1@esnm但是1!==是的,或者你只是想让它成为现实truthy@juvianjust truthy.true不是表达式的日志吗?@guest271314他想要的是truthy值,而不是trueAh,他没有注意到这部分要求。我知道这个…:但我认为你需要true@RohithKP我也这么认为,但在guest271314回答评论中要求确认:表达式中没有记录true?@guest271314他想要的是一个truthy值,而不是trueAh,他没有注意到要求的这一部分。我知道但我认为你需要true@RohithKP我也这么认为,但在guest271314中询问回答意见以确认:
a(1);
a(0);
a(-1);
a("a string");
a("");
a(null);
a(undefined);