On Thu, Sep 20, 2018 at 6:00 PM Jordan Harband <[email protected]> wrote:
> The getter part is already how it works - you can `export let foo =
> false;` and then later `foo = true`; and then `export function setFoo(v) {
> foo = v; }`. Why is the getter/setter syntax a significant improvement over
> this?
>
> On Thu, Sep 20, 2018 at 4:21 PM, Michael J. Ryan <[email protected]>
> wrote:
>
If you removed just the export; it wouldn't be valid code....
> // myFoo.mjs
>> _hiddenFoo = false;
>> /*export*/ get foo() {
>> return _hiddenFoo;
>> }
>>
>> /*export*/ set foo(value) {
>> _hiddenFoo = !!value;
>> }
>>
>>
/*export*/ get foo() {
^^^
SyntaxError: Unexpected identifier
var hiddenFoo;
var foo = {
get foo() {
return _hiddenFoo;
},
set foo(value) {
_hiddenFoo = !!value;
}
}
export {foo};
// --- main
import {foo} from './zz.mjs';
console.log( "what is foo?", foo );
// -- output
what is foo? { foo: [Getter/Setter] }
> Not sure if this has been discussed, but would be a nice feature to have
>> in some cases... I know, total side effects and mutations, all the same,
>> would be a nice to have in a few cases.
>>
>> --
>> Michael J. Ryan
>> 480-270-4509
>> https://www.tracker1.info/
>> [email protected]
>> [email protected]
>>
>> _______________________________________________
>> es-discuss mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss