23:35
<jugglinmike>
Does ECMA262 formally define the spec-internal syntax, "myvariable.[[SomeInternalSlot]]" ?
23:36
<jugglinmike>
It's a bit tough to search for that pattern, but it doesn't seem to be explained in the Notational Conventions section
23:40
<bakkot>

jugglinmike: well, there's

In specification text and algorithms, dot notation may be used to refer to a specific field of a Record value. For example, if R is the record shown in the previous paragraph then R.[[Field2]] is shorthand for “the field of R named [[Field2]]”.

though that only says you can use it for records, not internal slots in general

23:40
<bakkot>
probably https://tc39.es/ecma262/multipage/ecmascript-data-types-and-values.html#sec-object-internal-methods-and-internal-slots should have a sentence about how internal slots are read
23:41
<jugglinmike>
Ahah! Thanks
23:42
<jugglinmike>
bakkot: At the moment, there are at least two cases where a slot that has not been explicitly assigned a value is assumed to provide the value "undefined". Should that behavior be specified for all records? For internal slots only? Or should we set the value "undefined" in InternalObjectCreate? Or none of those things?
23:43
<bakkot>
Unless specified otherwise, the initial value of an internal slot is the value undefined.
23:44
<bakkot>
I'm not sure if that holds for record fields, though. I think we generally initialize record fields before reading them?
23:45
<jugglinmike>
Hm, I don't know about that. The text you cited covers the cases I've been looking at, though
23:46
<jugglinmike>
So thanks twice over :)