# 迭代器和生成器

  • 11.1 如果你要用生成器,请确保它们的函数签名空格是得当的。 eslint: generator-star-spacing (opens new window)

    Why? function* 是同一概念关键字 - *不是function的修饰符,function*是一个和function不一样的独特结构

    // bad
    function * foo() {
      // ...
    }
    
    // bad
    const bar = function * () {
      // ...
    }
    
    // bad
    const baz = function *() {
      // ...
    }
    
    // bad
    const quux = function*() {
      // ...
    }
    
    // bad
    function*foo() {
      // ...
    }
    
    // bad
    function *foo() {
      // ...
    }
    
    // very bad
    function
    *
    foo() {
      // ...
    }
    
    // very bad
    const wat = function
    *
    () {
      // ...
    }
    
    // good
    function* foo() {
      // ...
    }
    
    // good
    const foo = function* () {
      // ...
    }
    

回到顶部