我在 Coffee Script 中有这部分代码,我不知道如何用三元 if 或类似的东西来简化它。
if options.tracks?
@collection.add(options.tracks, {at: length+1, dest:options.dest})
else
@collection.add(options, {at: length+1, dest:options.dest})
对不起愚蠢的问题..
我在 Coffee Script 中有这部分代码,我不知道如何用三元 if 或类似的东西来简化它。
if options.tracks?
@collection.add(options.tracks, {at: length+1, dest:options.dest})
else
@collection.add(options, {at: length+1, dest:options.dest})
对不起愚蠢的问题..
CoffeeScript 没有简单的三元运算符,但您可以使用 if 将产生任一分支的最后一个表达式
@collection.add((if options.tracks then options.tracks else options),
{at: length+1, dest:options.dest})
话说回来。我不会那样写,因为 imo 它有很多视觉噪音并且难以阅读。最好做
tracks = if options.tracks then options.tracks else options
@collection.add(tracks, {at: length+1, dest:options.dest})
甚至更好
tracks = options.tracks || options
@collection.add(tracks, {at: length+1, dest:options.dest})
使用存在运算符将产生与您编码相同的行为:
@collection.add(options.tracks ? options, {at: length + 1, dest: options.dest})
我个人会摆脱一些括号/大括号,并可能为第一个参数使用单独的变量......但这更多的是关于个人喜好:
tracks = options.tracks ? options
@collection.add tracks, at: length + 1, dest: options.dest