Giter Club home page Giter Club logo

js-class-fields-chinese-discussion's People

Contributors

amio avatar erictiger avatar hax avatar island205 avatar itchina110 avatar justineo avatar kuitos avatar lidongjies avatar makara avatar maxwin-z avatar smadey avatar techquery avatar trotyl avatar xeodou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

js-class-fields-chinese-discussion's Issues

支持一下

膜拜一下大佬的Slide, 前来支持一下

建议缩小反对范围

以 public field 为例,目前列出了 [[define]] 问题,[key] 二义问题,; 风格问题,但实际上这些问题无论解决了哪个,剩下的都会更尖锐,除非全套费了。

但其实单独看的话,define 是很合理的,因为 set 很容易用传统的 constructor 中 this.key=value 的方式实现,相反自行用 defineProperty 实现 define 则麻烦又慢。

而只要修改一处,剩下的反而就都不是问题了,就是 =。目前的全套做法都像是对象字面量声明,而那种情况下,从来都是 define,而且结尾用 , 也就不存在改变 ; 习惯的问题了,大家总是会写 , 结尾,同时 [key] 也不存在二义了,对象字面量的方法写法和类实例方法写法也统一了(仅是写不写 , 的区别)。只不过由于 ts 用掉了 :,这里没法简单把 = 换掉完事,但这依然是问题的关键。

如果不集中矛盾到小点上并给出简单的替换建议,而是单纯列出所有的矛盾证明现在问题很大,很可能不会被采纳吧……毕竟现在列出的所有问题的单纯相反的做法,相互之间并不兼容。

考虑到省略 ;, 的需求,我想了种语法,仅供参考:

class C {
    propertyA #( value )
    [propertyB] :type #( value )
    method () {}
}

不用括号是无论如何无法省略结尾 ;, 的,除非此上下文中,行末默认强行断句。如果用括号,三种括号中另两种都会造成新的二义语法,而直接小括号本身又和 ts 的方法重载语法冲突,所以只能再加个前缀,这里我随手选了个 #,或许有更好的选择。

如果支持行末强行断句,那问题会简单一些(毕竟括号比 ;, 还啰嗦,还不如用 ;,):

class C {
    propertyA # value
    [propertyB] :type # value
    method () {}
}

Where can I find the outcome of this meeting?

I'm very happy to see Chinese developers coming together to analyze TC39 proposals. I hope this can be the start of a great collaboration. I'd like to understand the next steps that we should take in the class fields proposal based on your discussion. Are there minutes available?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.