• 等级
  • 1577734 访问
  • 211 原创
  • 0 转发
  • 976 排名
  • 1598 评论
  • 120 获赞

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

上次掺和JavaScript的事,是说JavaScript语言有值的问题;再往前一年,就是在“红绿灯大战”中讨论Promise了。这细数起来,都是两三年前的旧事了。但我还是跟进JavaScript的。最新近的事,是持续地讨论这个所谓“TC39提案”的事情。本以为真关心的人并不多,但前两天连老宋都转了篇贴子过来,“这帮人要把js折腾成啥样子啊”,老宋说。“啥样子?”1.导致太下大乱的“Fie...

2018-10-18 11:00:54

关于废止proposal-class-fields提案的建议

在本文中,我会仔细分析新提案中field的概念矛盾,并揭示它实质上是作用域设计上的倒退。并且,该提案的错误实现,将不可避免地导致灾难。Rejectit!Nomorechoices!1.概念:“NotFields”!对象在定义上是“属性集(objectiscollectionofproperties)1”。因此如果Field不是属性,则它必然不属于“对象成员(colle...

2018-10-17 00:19:47

私有属性的实现

在tc39的提案中,这一特性被称为"privatefield",据说是为了避免与property这个传统的名字出现概念冲突。这简直是扎了裤脚放屁——还要称比脱了裤子文雅!为什么这么讲呢?因为一旦引入了所谓“privatefiled”,就预示着还会有“publicfield”等等之类,而这与传统的property又有什么不同吗?还是叫“私有属性(privateproperty)”吧,别再...

2018-10-15 11:09:18

No prefix! operator is Ok!

所有在我对原有提案的修改中,核心不是“不用#字符”,而是将它从一个前缀字符,变成了一个操作符。这一方面是使“声明语法”与“表达式运算”分开,另一方面也让这些修改与ECMAScript规范保持在语法上的一致性。原有提案:https://github.com/tc39/proposal-class-fields修改的提议:#issuecomment-4295335321.为什么是":“而不...

2018-10-13 21:10:17

元类型系统是对JavaScript内建概念的补充

本文是一个系列,包括:JavaScript的元系统JavaScript中创建原子的几种方法元类型系统是对JavaScript内建概念的补充(本文)JavaScript的类型系统一贯是反人类的,以至于JavaScript之父Eich都会跳出来说“我做错了”。但是这并不是说它的整个类型系统就是不可理解的,相反,它提供了观察这门语言的多个不同角度。远古...

2018-08-28 10:44:37

JavaScript中创建原子的几种方法

本文是“JavaScript的元语言”系列中的一篇。其它内容参见:*JavaScript的元系统JavaScript中可以通过Object.create(null)来创建原子,这是非常自然而又易于理解的方式。不过也有一些其它的方法来实现相同的效果,虽然在概念上有所不同,但是它们创建的一样是“原子对象”。创建原子使用Object.create()//方法1...

2018-08-26 13:47:13

JavaScript的元系统

本文是对在第四届FEDay中分享的《无类继承:JavaScript面向对象的根基》的进一步讨论。也是对开源项目@aimingoo/metameta的解析。ECMAScript中只有两处提及到“Meta”这个概念,一处是说明ECMAScript的规范类型(aspecificationtype)是用于描述和实现语言类型(languagetypes)的元值(meta-values),另...

2018-08-24 10:55:56

本届FEDay的讲演内容在这里了

就是前端日(https://fequan.com/2018/)了。这是第四届了,呵呵,谢邀。我的主题是《无类继承:JavaScript面向对象的根基》,主要是从JS中面向对象的历史讲起,一直到元类继承的实现。资源下载在这里:https://download.csdn.net/download/aimingoo/10616853或者可以通过github下载,在这里:https:/...

2018-08-21 10:31:51

怎么会有两个“原本”

今天很突然地发现裘宗燕老师还翻译了一本《编程原本》,英文名是”ElementsofProgramming”,是C++的STL库之父AlexanderStepanov,简单地说就是“一个大牛”。而看到这个书名的时候,就是一惊:撞衫撞脸撞书名,我那本《程序原本》的英文名原本也是打算用”ElementsofProgramming”……

2017-09-24 18:43:52

小述系列最终篇:说说《大道至易:实践者的思想》

这最后一篇小述,是写《大道至易》的。我想我又是犯了文绉绉的老毛病,把这篇“述”写成了自说自话的道可道与非常道。之所以写得这么晦涩难看,除了拽拽文之外,其实可能最大的原因还是自己吃得不够透彻,所以表达上就深入得进去,却浅不出来……所谓大道,终归是难写的,所以还是请大家原谅我的这些不成熟吧。本电子书可自由下载和传播。霍泰稳先生的序认识泰稳兄已经很多年,第一次请他写序。之所以邀他

2017-07-30 11:50:11

电子书《我的架构思想》小述

接下来谈谈《我的架构思想》。上一篇是“电子书《程序原本》小述”,在这里:http://blog.csdn.net/aimingoo/article/details/75506782。本电子书可自由下载和传播。这些年来我所谈的“架构思想”在2007年,我还在盛大的时候曾做过一次名为《设计师的实战过程》的内部分享,这个分享现今在CSDN还能下载到(在这里)。但在此之后,我便再也没有讲过“设

2017-07-23 22:19:35

重发:“设计师的实战过程”下载

这大概是我最后一次讲过的“软件设计”话题了,包括音频和PPT。需要的同学请自行下载。Chapter1~3,下载Chapter1介绍:http://blog.csdn.net/aimingoo/article/details/2735597下载(Part1~2):http://download.csdn.net/source/562755http://download.csdn.n

2017-07-23 21:49:01

电子书《程序原本》小述

《程序原本》作为电子书首发已经一个月了(下载附后),它到底是一本怎么样的书呢?我想站在我自己的角度对它做一些阐述,或是有利于对它的理解与传播的。本电子书可自由下载和传播。什么是“原本”书名取自于《几何原本(Euclid’sElements)》,因此这个“原本”,其实原意应从Elements来找,一般来说理解成“不可或缺的、核心的要素,或元素”就好了。《程序原本》确实就是想从这个角度来

2017-07-20 12:20:02

本博客的主要更新已经迁至新站

也许我会时不时会回这里来写一两篇,但不确保长期维护

2017-06-16 15:21:17

前端要给力之:语句在JavaScript中的值

语句在JavaScript中的值这两天在写语言精髓那本书的第三版,讨论到ES6跟ES5中间对“语句的值”的不同处理。正好Weibo上也有同学对这个问题有兴趣,所以专门整理了这篇。写博客可以啰嗦点,写书就不行了。所以这篇文章跟书上能看到的还是会不一样的。问题是:语句有值吗?很不幸,我们面临的的确是一门连语句都有值的语言。在JavaScript中,代码是按语句行(Statement

2016-04-12 19:48:08

确定的世界 - The Promise's World

有这样的一个世界在持续地向前推进着,这个世界充满着无穷多个选择,也就是说有无穷多的可能;但对每一个选择来说,存在决定/未决两种状态,如果已经决定,则只能有yes/no两种结果之一。那么,这个世界是确定的么?

2015-08-10 17:35:08

前端要给力之:红绿灯大战中的火星生命-Promise

目录目录传说的开始看到winter的代码我的第一反应是全无promise的精髓其实我了解Promise也是新近的事情我与Promise后来发生的故事红绿灯大战的亲历实录Promise写出来怎么会是这个样子欢迎回到火星感谢米粽粽同学提到我的一篇旧文第一步的抽象一点说明前提重新定义问题Promise的编程基础之逻辑过程如何确认一个数据就绪然后then只能处理一个数据最后任何

2015-04-12 21:35:15

MPD大会上使用的PPT分享 - 2014

MPD(软件工作坊,在这里在这里)中我的内容是“架构的过程“。架构是一个过程而非结果,是我的主要观点。本主题讨论两种不同视角下的架构过程与具体方法。将在实践环境中与大家完成一个系统的分析,评价与构建。并尝试性地讨论“架构过程论”的局限性。下面是此次分享中的完整PPT,

2014-09-22 20:54:58

CSDN的SDCC大会(2013)中使用的PPT分享

什么才是这样的意图?我们如何得到或形成意图呢?为什么说“获得意图”才架构的精髓呢?“意图之于架构”的本质究竟是什么?这些是我在本讲演中希望与大家分享与讨论的。

2013-08-31 22:02:09

MPD大会上使用的PPT分享 - 2013

MPD(软件工作坊,在这里在这里)中我的内容是“架构的过程“。架构是一个过程而非结果,是我的主要观点。本主题讨论两种不同视角下的架构过程与具体方法。将在实践环境中与大家完成一个系统的分析,评价与构建。并尝试性地讨论“架构过程论”的局限性。下面是此次分享中的完整PPT,与大会中用到的略有区别。其中,还有程文宇先生的一份《系统架构方法》,可供参考。下载位于:http://cid-f9303c43d5c

2013-06-15 21:50:20

aimingoo

关注