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

Reply via email to