三元运算符中的赋值,反模式?

时间:2017-11-26 02:19:49

标签: javascript coding-style ternary-operator

我有一位同事以这种方式使用三元运算符(在javascript中):

var genderLabel = '';
isMale? genderLabel  = 'Man' : genderLabel  = 'Woman';

在C#中,我就是这样做的。

var genderLabel = isMale? "Man" : "Woman";

我的同事说这是一个javascript编码约定......是真的吗?我不是javascript专家而且我不喜欢那种语言...当我查看代码时,我专注于我的左手边来跟随变量初始化或赋值,这种风格迫使我阅读整行。

我也在维护前雇员的Java代码,他以同样的方式使用三元运算符。这是反模式吗?我认为编译器应该不允许它在if语句中被禁止的方式:

if(x = 2)
{
   ...
}

这不会在C#中编译。

0 个答案:

没有答案