何时在coffeescript for循环中使用“来自”,“ of”或“ in”

时间:2019-08-24 11:47:29

标签: coffeescript

我发现文档非常混乱。我什么时候应该使用for x of yfor x from yfor x in y,普通的Javascript会翻译成什么?有什么选择?

1 个答案:

答案 0 :(得分:0)

# Coffeescript                       # Translates to Javascript

# Iterables like Arrays and Generators:
for e from arr                       # for (e of arr)

# Arrays: "Comprehension"
for e in arr                         # for (j = 0, len = arr.length; j < len; j++) {

# Arrays, functionally:
arr.forEach (a) =>                   # arr.forEach a =>

# Objects: "Comprehension"
for k,v of obj                       # for (k in obj) {
                                     #   v = obj[k]

# Objects, only where hasOwnProperty
for own k,v of obj                   # for (k in obj) {
                                     #   if obj.hasProperty(k)
# Or manually, where hasOwnProperty
for [k,v] from Object.entries(obj)   # for (x of obj) {
                                     #   [k, v] = x;
# Or manually, functionally, where hasOwnProperty
Object.entries(obj)                  # Object.entries(obj)
  .forEach ([k,v]) =>                #   .forEach(([k, v]) =>

# As embedded Javascript
`for (e of arr)`                     # for (e of arr)
`for (k in obj)`                     # for (k in obj)

简而言之:

  • from成为of
  • in变成复杂的for(;;)循环,并且
  • of成为in