科普:"Field提案"是什么东东?

上次掺和JavaScript的事,是说JavaScript语言有值的问题;再往前一年,就是在“红绿灯大战”中讨论Promise了。这细数起来,都是两三年前的旧事了。

但我还是跟进JavaScript的。最新近的事,是持续地讨论这个所谓“TC39提案”的事情。本以为真关心的人并不多,但前两天连老宋都转了篇贴子过来,“这帮人要把js折腾成啥样子啊”,老宋说。

“啥样子?”

1. 导致太下大乱的“Field提案”

“Field提案”全称是“proposal-class-fields”(在这里),是试图在类声明中添加“Fields”的一项语言设计。提案基本的想法是这样:

// 在类中声明字段(Field)
class Counter {
   
  x = 0;
  foo() {
   
    console.log(this.x);  // 0
  } 
}

这看起来并没有什么大不了,毕竟之前在类中只能声明方法,新方案可以直接为this.x赋个初值,大家都很happy。

但“字段(Field)”是什么?没人鸟这个问题。

后来这个方案扩展了,提供了公开字段(Public fields)、私有字段(Private fields)等特性,并整合了种种有关于“类”的提案的思想,还提出了向前兼容类装饰器(decorators)等愿景,摇身一变,成了一个巨无霸方案。同时,也不可避免地在社区掀起了轩然大波:多达120余条issues,其中#100高达300余条讨论,Git issues折了好几回才能加载完。

话说,我就是被这个issues入坑的。

那么,现在这个巨无霸的方案又在讲什么呢?它说起来就是提供了两个语法:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值