const foo = () => bar; // definition timefoo(); // call time
It's not definition, it already works, creates a variable. difinitions are only possible in compiled languages
— There's no technical difference, but there is a difference for the user
— So you're saying every call to an arrow function binds it?
— Not every, but first call. as you saw in that benchmark.. you said it was weird. no it's not weird
— But it's not in first call
— It's a lexical scoping
— If I bind foo, the return value changes
— So how can it be bound?
— Make a test first, you didnt run it, right
— I did
— Then drop code here