s*********y 发帖数: 6151 | 1 我看了是很无语 写的人估计觉得自己很牛逼
key = key === 'firstName' ? 'givenName' : key === 'lastName' ? 'surname' :
key; |
c******n 发帖数: 16666 | 2 嗯
一般判断boolean或者嵌在html的时候我才用一下
而且不会搞嵌套 |
d****n 发帖数: 1637 | 3 很沙比,以后维护会很头疼
我会这样写
if (key == 'lastName' ) {
key = 'surname';
}
if (key == 'firstName') {
key = 'givenName';
}
这样写一点也不寒蝉,而且是为人类。 尽量放弃ternary operator |
c*********e 发帖数: 16335 | 4 我们公司遮阳写的很多,还说是因为简洁。和和
各花入各眼吧。编程因为不只一种方法,有很大的自由,所以才有快乐。
【在 s*********y 的大作中提到】 : 我看了是很无语 写的人估计觉得自己很牛逼 : key = key === 'firstName' ? 'givenName' : key === 'lastName' ? 'surname' : : key;
|
w***g 发帖数: 5958 | 5 这样写一般都是刚出道还童真未泯没有生活压力的。我老其实很羡慕这种人。
【在 s*********y 的大作中提到】 : 我看了是很无语 写的人估计觉得自己很牛逼 : key = key === 'firstName' ? 'givenName' : key === 'lastName' ? 'surname' : : key;
|
m****r 发帖数: 243 | 6 分行不好而已。
key = (key === 'firstName') ? 'givenName' :
(key === 'lastName') ? 'surname' :
key;
比if语句好的地方: 只有一次赋值。所以如果用grep寻找所有赋值语句一看就清楚,不
用打开文件看上下文。 |
x****u 发帖数: 44466 | 7 C语言设计这种语法就是为了这么玩的
【在 c*********e 的大作中提到】 : 我们公司遮阳写的很多,还说是因为简洁。和和 : 各花入各眼吧。编程因为不只一种方法,有很大的自由,所以才有快乐。
|
n****l 发帖数: 1739 | 8 不会吧, 任何语言都是写得清晰为好。但是有人故意要写得花哨。写KDB的人,用K和Q
写出来的就是乱码。
【在 x****u 的大作中提到】 : C语言设计这种语法就是为了这么玩的
|
l**********n 发帖数: 8443 | 9 as long as it passes jslint, I think you cannot complain about it. |
s*********y 发帖数: 6151 | 10 你扯淡 我几个statement 写同一行也照样过
【在 l**********n 的大作中提到】 : as long as it passes jslint, I think you cannot complain about it.
|
|
|
W***o 发帖数: 6519 | 11 我也这样写过,不过要加几个个括号,否则时间长了自己都要花时间读懂
【在 s*********y 的大作中提到】 : 我看了是很无语 写的人估计觉得自己很牛逼 : key = key === 'firstName' ? 'givenName' : key === 'lastName' ? 'surname' : : key;
|
x****u 发帖数: 44466 | 12 C设计者就认为这是清晰写法啊,pascal当年更工整但有几个人用啊。
Q
【在 n****l 的大作中提到】 : 不会吧, 任何语言都是写得清晰为好。但是有人故意要写得花哨。写KDB的人,用K和Q : 写出来的就是乱码。
|
h**********c 发帖数: 4120 | 13 十多年前学的了,有点忘了
ternary is operator, it is like + or -
if else 是 keyword,在parse 和 编译,执行都要额外开销。
好像汇编就是 jmp
对错不知道,反正外行看着热闹好玩就行。
【在 s*********y 的大作中提到】 : 我看了是很无语 写的人估计觉得自己很牛逼 : key = key === 'firstName' ? 'givenName' : key === 'lastName' ? 'surname' : : key;
|
ET 发帖数: 10701 | 14 what's wrong with ternary operator?
【在 d****n 的大作中提到】 : 很沙比,以后维护会很头疼 : 我会这样写 : if (key == 'lastName' ) { : key = 'surname'; : } : if (key == 'firstName') { : key = 'givenName'; : } : : 这样写一点也不寒蝉,而且是为人类。 尽量放弃ternary operator
|
l****u 发帖数: 1764 | |
a9 发帖数: 21638 | 16 你该打回去重修了
【在 l****u 的大作中提到】 : 确定===? 三个'='?
|
T*****u 发帖数: 7103 | |
l******t 发帖数: 55733 | 18 这种写法其实很好。if else本来就是operator必须配对。这个第一保证是operator第
二必须配对 |
d****n 发帖数: 1637 | 19 if else 不必配对
【在 l******t 的大作中提到】 : 这种写法其实很好。if else本来就是operator必须配对。这个第一保证是operator第 : 二必须配对
|
f*z 发帖数: 421 | 20 lol 确实
【在 w***g 的大作中提到】 : 这样写一般都是刚出道还童真未泯没有生活压力的。我老其实很羡慕这种人。
|
|
|
c******3 发帖数: 6509 | 21 他写法没错,只是没有排版造成阅读困难而已
你这种写法很多编译器会产生branch指令,一次branch predict mistake抵得上上面写
法执行数十次的时间了
【在 d****n 的大作中提到】 : 很沙比,以后维护会很头疼 : 我会这样写 : if (key == 'lastName' ) { : key = 'surname'; : } : if (key == 'firstName') { : key = 'givenName'; : } : : 这样写一点也不寒蝉,而且是为人类。 尽量放弃ternary operator
|
d****n 发帖数: 1637 | 22 这不是js么?
我知道你那些理论。
可是你考虑productivity v.s. optimization 的trade off了么?
多出那几个cpu 级别的 op 和人类维护code,在你看来那个耕重要?
除了asm,没必要考虑把。
【在 c******3 的大作中提到】 : 他写法没错,只是没有排版造成阅读困难而已 : 你这种写法很多编译器会产生branch指令,一次branch predict mistake抵得上上面写 : 法执行数十次的时间了
|
c*********e 发帖数: 16335 | 23 常见。
【在 s*********y 的大作中提到】 : 我看了是很无语 写的人估计觉得自己很牛逼 : key = key === 'firstName' ? 'givenName' : key === 'lastName' ? 'surname' : : key;
|