coffee-script 编译后,怎么才能避免出现不需要出现的return呢?

发布于 2022-09-01 12:01:47 字数 720 浏览 21 评论 0

coffeescript 新手,请多多指教。

coffee上的代码是:

refine = (wheat,chaff...) -> 
    console.log "The best: #{wheat}"
    console.log "The rest: #{chaff.join(',')}"

refine 'one','two','three','four'

编译出来后:

(function() {
  var refine,
    __slice = [].slice;

  refine = function() {
    var chaff, wheat;
    wheat = arguments[0], chaff = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
    console.log("The best: " + wheat);
    return console.log("The rest: " + (chaff.join(',')));
  };

  refine('one', 'two', 'three', 'four');

}).call(this);

refine函数里面最后一行,多了return,实际中应该不需要这个return的,为什么会被这样编译出来呢?
需要去掉吗?怎么去掉?
不需要去掉吗?为什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月静好 2022-09-08 12:01:47

最后一行写一个return或者undefined

refine = (wheat,chaff...) -> 
    console.log "The best: #{wheat}"
    console.log "The rest: #{chaff.join(',')}"
    return

refine 'one','two','three','four'

or

refine = (wheat,chaff...) -> 
    console.log "The best: #{wheat}"
    console.log "The rest: #{chaff.join(',')}"
    undefined

refine 'one','two','three','four'

http://stackoverflow.com/questions/7391493/is-there-any-way-to-not-ret...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文