用JavaScript编写三元运算符的另一种方法

用JavaScript编写三元运算符的另一种方法,javascript,arrays,conditional-operator,Javascript,Arrays,Conditional Operator,这是否符合逻辑操作: const user=users&&users[0]| | null; 与此条件/三元操作相同: const user=用户?用户[0]:空; ??假设用户是一个数组。不,它们不一样。如果用户[0]为假,则将在第一个代码中选择|null: const users=[0]; const user1=users&&users[0]| | null; const user2=用户?用户[0]:空; log(user1,user2)单独使用用户并不是一种很好的测试方法。有些语

这是否符合逻辑操作:

const user=users&&users[0]| | null;
与此条件/三元操作相同:

const user=用户?用户[0]:空;

??假设
用户
是一个数组。

不,它们不一样。如果
用户[0]
为假,则将在第一个代码中选择
|null

const users=[0];
const user1=users&&users[0]| | null;
const user2=用户?用户[0]:空;

log(user1,user2)单独使用
用户
并不是一种很好的测试方法。有些语言像 只允许对布尔值进行测试。为此,最好是 如果可能,针对布尔值进行测试。比如:

const user = users.length > 0 ? users[0] : null;

如果
users
始终是一个数组,那么它始终是thruthy,测试它是没有意义的。啊,有趣的是,我不知道可选链接。这就像是在科特林的一个安全电话。