coffeescript为何没有三元运算
既然是为了简便为什么设计需要去掉这种明显更简单的写法,而非要用if ... then ... else ...
来表示呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
既然是为了简便为什么设计需要去掉这种明显更简单的写法,而非要用if ... then ... else ...
来表示呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
在Coffee的GitHub issues里可以找到很多人跟你问一样的问题:https://github.com/jashkenas/coffeescript/search?q=ternary+operator&type=Issues&utf8=%E2%9C%93
只能说Coffee里就是不支持三元运算。
或许是因为问号有其他用途
话说
foo?.bar?()
能省很多代码啊簡單既可以是書寫簡單,也可以是思路簡單。
比如
foo?.bar?()
你要自己寫,思路就會被打斷,因爲你要被迫考慮具體實現的問題,注意力從全局移開了。即便是書寫簡單的寫法,也不一定思路簡單。
foo?true:false
雖然看上去簡單,但要 nest 就不得不考慮優先級的問題。给大家看一个句式:
_p = if url.indexOf '?' is -1 then '?' else '&'
结果是
var _p;
_p = url.indexOf('?' === -1) ? '?' : '&';
非得
_p = if url.indexOf('?') is -1 then '?' else '&'
别告诉我前面的写法不对……