Skip to content

javascript reduce doesn't work with arrow function #109

@steebchen

Description

@steebchen

This line

@[0, 1, 2].reduce((a, b) => a + b)

throws this

ReferenceError: Problem while rendering template at line 19, character 0.
Original message: Problem while rendering template at line 19, character 0.
Original message: a is not defined.
Context: 

   18 |  <div class="value">
 > 19 |      @[0, 1, 2].reduce((a, b) => a)
   20 |  </div>

.
Context: 

   at eval (eval at <anonymous> ([cut]/node_modules/vash/runtime.js:308:26), <anonymous>:342:72)
   at linked ([cut]/node_modules/vash/runtime.js:348:14)
   at [cut]/node_modules/vash/lib/helpers/layout.js:232:5
   at Object.vash.loadFile ([cut]/node_modules/vash/lib/helpers/layout.js:68:11)
   at Helpers.helpers.include ([cut]/node_modules/vash/lib/helpers/layout.js:230:8)
   at eval (eval at <anonymous> ([cut]/node_modules/vash/runtime.js:308:26), <anonymous>:91:33)
   at Helpers.helpers.block ([cut]/node_modules/vash/lib/helpers/layout.js:253:5)
   at eval (eval at <anonymous> ([cut]/node_modules/vash/runtime.js:308:26), <anonymous>:61:33)
   at [cut]/node_modules/vash/lib/helpers/layout.js:197:5
   at Object.vash.loadFile ([cut]/node_modules/vash/lib/helpers/layout.js:68:11)
   at Helpers.helpers.extend ([cut]/node_modules/vash/lib/helpers/layout.js:188:8)
   at eval (eval at <anonymous> ([cut]/node_modules/vash/runtime.js:308:26), <anonymous>:10:33)
   at linked ([cut]/node_modules/vash/runtime.js:348:14)
   at [cut]/node_modules/vash/lib/helpers/layout.js:80:22
   at Object.vash.loadFile ([cut]/node_modules/vash/lib/helpers/layout.js:68:11)
   at View.vash.renderFile.vash.__express [as engine] ([cut]/node_modules/vash/lib/helpers/layout.js:76:8)
   at View.render ([cut]/node_modules/express/lib/view.js:126:8)
   at tryRender ([cut]/node_modules/express/lib/application.js:639:10)
   at EventEmitter.render ([cut]/node_modules/express/lib/application.js:591:3)
   at ServerResponse.render ([cut]/node_modules/express/lib/response.js:960:7)
   at [cut]/app.js:98:6
   at Layer.handle [as handle_request] ([cut]/node_modules/express/lib/router/layer.js:95:5)
   at next ([cut]/node_modules/express/lib/router/route.js:131:13)
   at [cut]/app.js:93:3
   at [cut]/node_modules/mongoose/lib/query.js:2257:18
   at process._tickDomainCallback (node.js:438:9)

while this

@[0, 1, 2].reduce(function(a, b) { return a + b })

works.

node@v5.9.1
vash@0.12.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions