Javascript 开始玩咖啡脚本-几个基本问题

Javascript 开始玩咖啡脚本-几个基本问题,javascript,coffeescript,Javascript,Coffeescript,1-方法链接 我真的很喜欢调用函数的方式,而不会用括号污染代码,但是下面的不一致性真的让我很困扰 $(this).attr("id").data "foo" 像这样的方法链需要我使用括号直到链中的最后一个方法,这看起来很不一致,让我的强迫症感觉像疯了一样刺痛。。我错过了这里的一些东西吗?是否有一种更一致但更干净的方法(即,除了恢复在所有地方使用括号之外) 2-编译器配置? 我使用coffee——watch让它自动编译文件,但是——帮助显示了我可以提供的很少的参数来改变它的行为。首先,我想更改生

1-方法链接

我真的很喜欢调用函数的方式,而不会用括号污染代码,但是下面的不一致性真的让我很困扰

$(this).attr("id").data "foo"
像这样的方法链需要我使用括号直到链中的最后一个方法,这看起来很不一致,让我的强迫症感觉像疯了一样刺痛。。我错过了这里的一些东西吗?是否有一种更一致但更干净的方法(即,除了恢复在所有地方使用括号之外)

2-编译器配置?

我使用coffee——watch让它自动编译文件,但是——帮助显示了我可以提供的很少的参数来改变它的行为。首先,我想更改生成的javascript的选项卡大小。有没有办法做到这一点

  • 不,如果要进行链接,则需要括号。我希望不是这样,但事实的确如此

  • 据我所知没有。您在
    --help
    中看到的就是您得到的


  • 但是CoffeeScript是开源的,所以您可以随时使用它。

    1。链接

    不,就语法而言,它实际上并不比javascript干净多少。他们在抱怨。我认为你必须咬紧牙关,接受你必须了解javascript才能使用coffeescript,而且并非javascript的所有缺点都能解决(无论如何)。就我个人而言,我更喜欢明智缩进的d3或jQuery解决方案:

    $(this)
      .attr('id')
      .data('foo')
    
    2。编译器配置


    除了我知道的'--bare'选项之外,没有任何配置。但它是一个编译器,而不是格式化程序。您可以全程发送编译后的代码(或者就此而言)。如果你打算这样做,我强烈推荐。查看如何使用coffee编译器。

    解决OCD一致性问题的另一个方法是始终为方法/函数参数添加括号。链接不是唯一需要包含它们的情况。我个人倾向于从语言中删除可选的省略括号,但这对于大多数CoffeeScript用户来说可能太极端了。相反,我选择忽略CS的这一“特性”,并鼓励我的合作者也这样做。我有理由这样做。

    从中间表达式中删除paren是非常重要的;什么是属性“id”。数据“foo”?它是
    attr(“id”).data(“foo”)
    ,还是
    attr(“id”).data(“foo”)
    ?一般来说,这样做比可取的方式要困难得多。也可能是
    attr(“id.data”)(“foo”)
    谢谢您提供的信息。你几乎证实了我的恐惧。希望它能很快发展成为一种更健壮的语言,否则就会出现一个fork,它的目标是从头到尾把事情做好。