W3C home > Mailing lists > Public > spec-prod@w3.org > April to June 2021

[ReSpec]: changes to internal slots

From: Marcos Caceres <marcosc@w3.org>
Date: Tue, 29 Jun 2021 10:40:10 +1000
Message-Id: <5B2593B7-7283-4BB3-8A83-C35E62EAE1EC@w3.org>
To: spec-prod <spec-prod@w3.org>
Hi ReSpec users!

Tl;dr: internal slots must now explicitly point to a WebIDL interface. ReSpec will report an error otherwise.  

If you don't know what an "internal slot" is (you can learn about them at [1]!), or your spec doesn't use WebIDL, please disregard this email.

## What's changed?

From v26.9.1, we require all internal slots to be explicitly associated with a WebIDL interface. So, this will no longer work:

```
{{ [[internalSlot]] }}
```

You must now do:

```
{{ MyInterface[[internalSlot]] }}
```

Or, for internal methods:

```
{{ MyInterface[[internalMethod]](foo, bar, baz) }}
```

Similarly, when defining an internal slot, you must explicitly associate an internal slot with an interface:

```
<dfn data-dfn-for="MyInterface">[[\InternalSlot]]</dfn> 
```   

Or for internal methods:

```
<dfn data-dfn-for="MyInterface">[[\InternalMethod]](foo, bar, baz)</dfn>
```

As always, give us a shout if you encounter any issues or need help! 

[1] https://medium.com/jspoint/what-are-internal-slots-and-internal-methods-in-javascript-f2f0f6b38de
Received on Tuesday, 29 June 2021 00:40:25 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 29 June 2021 00:40:25 UTC