Overloading comments is not likely to be accepted as a new feature; doing so could be dramatically "web breaking".
You may be interested in this: https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#types Rick On Thu, Oct 20, 2016 at 1:14 PM Gert Cuykens <gert.cuyk...@gmail.com> wrote: > Currently there are two ways to make comments `//` and `/**/` in > Ecma262. I think if Ecma262 has a broader way of implementing comments > it can open up the door for third party type checkers and leave the > burden onto others without the need for transpiling. > > I am looking into how close ES20XX syntax for example compares to > typescript syntax. A Ecma262 compiler doesn't need to look at the > typings at all, just be smart enough to ignore typings. Is the Ecma262 > community willing to look at a few syntax notations that a Ecma262 > parser should ignore? > > If there is no objection at first look I am going to put in the effort > to try to cover a complete syntax that extends `//` and `/**/` so > others can use that to implement for example a type checker? Notice > that I am not asking for type checking itself, just expanding `//` and > `/**/` that makes it possible for others to do for example type > checking and maintain a clean syntax look of their code. > > ## Example ES2015 code > > ```html > <!DOCTYPE html> > <html > > > <head> > <title>Test</title> > <meta http-equiv="X-UA-Compatible" content="IE=edge" /> > <meta name="viewport" content="width=device-width, > initial-scale=1.0, minimum-scale=1.0" /> > </head> > > <body> > <template> > <style> > :host { > display: block; > box-sizing: border-box; > border: 1px solid red; > margin: 13px 0; > padding: 0 17px; > } > </style> > <p>Test <slot></slot></p> > </template> > <script> > class HelloWorld extends HTMLElement { > constructor() { > super() > const t = document.querySelector('template') > const instance = t.content.cloneNode(true) > const shadowRoot = this.attachShadow({ mode: 'open' }) > shadowRoot.appendChild(instance) > } > } > customElements.define('hello-world', HelloWorld) > </script> > <hello-world>Hello World</hello-world> > </body> > </html> > ``` > > ## Example typescript code > > ```html > <!DOCTYPE html> > <html > > > <head> > <title>Test</title> > <meta http-equiv="X-UA-Compatible" content="IE=edge" /> > <meta name="viewport" content="width=device-width, > initial-scale=1.0, minimum-scale=1.0" /> > </head> > > <body> > <template> > <style> > :host { > display: block; > box-sizing: border-box; > border: 1px solid red; > margin: 13px 0; > padding: 0 17px; > } > </style> > <p>Test <slot></slot></p> > </template> > <script type="ts/module"> > class HelloWorld extends HTMLElement { > constructor() { > super() > const t:type1 = document.querySelector('template') > const instance:type2 = t.content.cloneNode(true) > const shadowRoot:type3 = this.attachShadow({ mode: 'open' }) > shadowRoot.appendChild(instance) > } > } > customElements.define('hello-world', HelloWorld) > </script> > <hello-world>Hello World</hello-world> > </body> > </html> > ``` > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss