It'd be really useful to have variables inside methods/functions that are initialized once, reused for subsequent calls and live as long as containing scope i.e the function itself.
> not to be confused with `static` properties ## Use Cases Almost every app has a function or method that needs to "preserve" some state across multiple calls, a counter for example. Current ways out of this situation are either closures created with IIFE's or making those variables top-level. Both of which are ugly. I think the same could be done much more neatly with persistent variables. ## Example ```javascript function foo(n) { // initialized on first call to foo, persists for subsequent calls persist let counter = 0; // this way JS engine won't have to recompile the pattern everytime persist const httpRE = /^https?/; counter++; return n * a; } ``` is 1:1 as ```javascript let foo = (() => { let counter = 0; const httpRE = /^https?/; return (n) => { counter++; return n * a; } })() ```
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss