guest271314 (2019-06-14T19:08:53.000Z)
guest271314 at gmail.com (2019-06-14T19:24:27.900Z)
> A module namespace isn’t an instance of Module, it’s a module namespace spec object. If it has a name member, that is because the module you imported has an exported binding called name. But what kind of thing it is isn’t what matters. If ```Object.getOwnPropertyDescriptors(ns)``` is used within ```<script type="module">``` then ```Symbol(Symbol.toStringTag): {value: "Module", writable: false, enumerable: false, configurable: false}``` will also be part of the output. If ```Object.keys(ns)``` is used ```Symbol(Symbol.toStringTag)``` will not be part of output. Good points about the overhead of using existing JavaScript features as substitute for ```nameof```. Considered that when composing the code. Still not sure what exactly the use of ```nameof``` is outside of an IDE environment? > Since ```nameof``` does not actually evaluate anything, the following would be legal: > ``` > const x = nameof y; // "y" > const y = 1; > ``` Interesting. ```y``` would be able to be evaluated before ```const y = 1``` is defined? Or, is the output of ```nameof y``` not related to the ```const``` variable declaration ```y``` defined at the next line? If that example is correct as to expected output, would that not lead to false-positive as to ```y``` being defined or not? That is, what occurs if the second line does not exist in the code?
guest271314 at gmail.com (2019-06-14T19:22:20.182Z)
> A module namespace isn’t an instance of Module, it’s a module namespace spec object. If it has a name member, that is because the module you imported has an exported binding called name. But what kind of thing it is isn’t what matters. If ```Object.getOwnPropertyDescriptors(ns)``` is used within ```<script type="module">``` then ```Symbol(Symbol.toStringTag): {value: "Module", writable: false, enumerable: false, configurable: false}``` will also be part of the output. If ```Object.keys(ns)``` is used ```Symbol(Symbol.toStringTag)``` will not be part of output. > Since ```nameof``` does not actually evaluate anything, the following would be legal: > ``` > const x = nameof y; // "y" > const y = 1; > ``` Interesting. ```y``` would be able to be evaluated before ```const y = 1``` is defined? Or, is the output of ```nameof y``` not related to the ```const``` variable declaration ```y``` defined at the next line? If that example is correct as to expected output, would that not lead to false-positive as to ```y``` being defined or not? That is, what occurs if the second line does not exist in the code?
guest271314 at gmail.com (2019-06-14T19:15:08.275Z)
> A module namespace isn’t an instance of Module, it’s a module namespace spec object. If it has a name member, that is because the module you imported has an exported binding called name. But what kind of thing it is isn’t what matters. If ```Object.getOwnPropertyDescriptors(ns)``` is used within ```<script type="module">``` then ```Symbol(Symbol.toStringTag): {value: "Module", writable: false, enumerable: false, configurable: false}``` will also be part of the output. If ```Object.keys(ns)``` is used ```Symbol(Symbol.toStringTag)``` will not be part of output. > Since ```nameof``` does not actually evaluate anything, the following would be legal: > ``` > const x = nameof y; // "y" > const y = 1; > ``` Interesting. ```y``` would be able to be evaluated before ```y``` is defined? Or, is the output of ```nameof y``` not related to the variable ```y``` defined at the next line? If that example is correct as to expected output, would that not lead to false-positive as to ```y``` being defined or not? That is, what occurs if the second line does not exist in the code?
guest271314 at gmail.com (2019-06-14T19:12:08.198Z)
> A module namespace isn’t an instance of Module, it’s a module namespace spec object. If it has a name member, that is because the module you imported has an exported binding called name. But what kind of thing it is isn’t what matters. If ```Object.getOwnPropertyDescriptors(ns)``` is used within ```<script type="module">``` then ```Symbol(Symbol.toStringTag): {value: "Module", writable: false, enumerable: false, configurable: false}``` will also be part of the output. If ```Object.keys(ns)``` is used ```Symbol(Symbol.toStringTag)``` will not be part of output. > Since ```nameof``` does not actually evaluate anything, the following would be legal: > ``` > const x = nameof y; // "y" > const y = 1; > ``` Interesting. ```y``` would be able to be evaluated before ```y``` is defined?
guest271314 at gmail.com (2019-06-14T19:11:49.331Z)
> A module namespace isn’t an instance of Module, it’s a module namespace spec object. If it has a name member, that is because the module you imported has an exported binding called name. But what kind of thing it is isn’t what matters. If ```Object.getOwnPropertyDescriptors(ns)``` is used within ```<scripttype="module">``` then ```Symbol(Symbol.toStringTag): {value: "Module", writable: false, enumerable: false, configurable: false}``` will also be part of the output. If ```Object.keys(ns)``` is used ```Symbol(Symbol.toStringTag)``` will not be part of output. > Since ```nameof``` does not actually evaluate anything, the following would be legal: > ``` > const x = nameof y; // "y" > const y = 1; > ``` Interesting. ```y``` would be able to be evaluated before ```y``` is defined?