ES6中是否真的不能声明同名的let与var?

首先,作为一个常识,在ES6之后的JavaScript中,不能声明同名的let与var,也同样不能声明同名的const。但是,在极客时间的课程中,Elmer同学问出了下面这样的问题: // 示例1 function test(x = 2) { var x = 3; console.log(x); } test(); // 3 在这段代码中,既然参数中的x是一个let风格的声明,那么为什么还能声明var x呢? 其中, ...

"Field提案"是什么东东?

本文是系列文章,包括: "Field提案"是什么东东(本文) 关于废止proposal-class-fields提案的建议 - 在这里 私有属性的实现 - 在这里 No prefix! operator is Ok! - 在这里 (未完待续) 本文是对一份tc39提案的讨论。原有提案:https://github.com/ ...

私有属性的实现

本文是系列文章,包括: "Field提案"是什么东东 - 在这里 关于废止proposal-class-fields提案的建议 - 在这里 私有属性的实现(本文) No prefix! operator is Ok! - 在这里 (未完待续) 本文是对一份tc39提案的讨论。原有提案:https://github.com/ ...

No prefix! operator is Ok!

本文是系列文章,包括: "Field提案"是什么东东 - 在这里 关于废止proposal-class-fields提案的建议 - 在这里 私有属性的实现 - 在这里 No prefix! operator is Ok!(本文) (未完待续) 本文是对一份tc39提案的讨论。原有提案:https://github.com/ ...

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

本文是一个系列,包括: JavaScript的元系统 - 在这里 JavaScript中创建原子的几种方法 - 在这里 元类型系统是对JavaScript内建概念的补充(本文) JavaScript的类型系统一贯是反人类的,以至于JavaScript之父Eich都会跳出来说“我做错了”。但是这并不是说它的整个类型系统就是不可理解的,相反,它提供了观察这门语言的多个不同角度。 远古JavaScript中的类型系统 在远古时期(我是指JavaScript 1.0)中,JavaScript的世界里还并没有“原型”这个东西,而且undefined也是一个奇葩的存在。 ...

JavaScript中创建原子的几种方法

本文是一个系列,包括: JavaScript的元系统 - 在这里 JavaScript中创建原子的几种方法(本文) 元类型系统是对JavaScript内建概念的补充 - 在这里 JavaScript中可以通过Object.create(null)来创建原子,这是非常自然而又易于理解的方式。不过也有一些其它的方法来实现相同的效果,虽然在概念上有所不同,但是它们创建的一样是“原子对象”。 创建原子 使用Object.create() // 方法1 atom = Object.create( ...

JavaScript的元系统

JavaScript的元系统 本文是对在第四届FEDay中分享的《无类继承:JavaScript面向对象的根基》的进一步讨论。也是对开源项目@aimingoo/metameta的解析。 本文是一个系列,包括: JavaScript的元系统(本文) JavaScript中创建原子的几种方法 - 在这里 元类型系统是对JavaScript内建概念的补充 - 在这里 以及相关下载: 资源分享:第四届FEDay讲演主题 - 在这里 ECMAScript中只有两处提及到“Meta”这个概念, ...

资源分享:第四届FEDay讲演主题

我在本届FEDay的讲演内容在这里了: FEDay就是前端日,在这里: https://fequan.com/2018/ 我的主题是《无类继承:JavaScript面向对象的根基》,主要是从JS中面向对象的历史讲起,一直到元类继承的实现。 相关的资源在这里: metameta: https://github.com/aimingoo/metameta 讲演内容下载:/content/files/classless_inheritance_in_javascript. ...

那些年,那些诗

在搞IT之前,我也搞点文学。 读书的时候总会写点东西,但不见得算文学作品。大概在99年的时候,我的《石像的忆述》被评成了网易首届网络文学大赛的金奖,看起来算是真正在做文学了,但此后我却也不怎么写东西了。后来有一阵爬坛论的风气,我跟着老茂的“顶点诗歌”混过一阵,也在精品论坛(ET8)和海浩网的文学版里出没,但几乎没有拿得出手的。再之后就是博客、微博和微信了,文学方面的作品更是寥寥。 但总归还是有些的。例如在其它博文中提到过的: 《澄心居诗词评读》六篇 《独身茶寮》 ...

诗写江南之行

原作于2017.04.16发于微信朋友圈 跟麦子同学策划了一次无计划的江南之行,从4.6~4.15,自上海经苏州、湖洲、宜兴、南京,最后从镇江回到上海。去年游澳大利亚时,便趁着得了空闲,写了一组『深夜食味记』,那是散文。这次亦然,不过换成了古体诗。 这次写法有些特别。在习惯上每日只写两句,写一时之所想,在用韵、平仄这些方也并不特别讲究。十日后掇句而成诗, ...

手记7:从单人博客到多人博客全程记录

上一篇手记是讲“改造Gitment”的(在这里)。其实这个“改造”花了不少功夫,以至于后来还出了一个给hexo-theme-next的版本。 这是推迟了“做多人博客”的一个原因,另一个原因则是我以前的博文需要更新的太多,花了很多时间。当然,那个叫Monster的项目(在这里)也是花销时间的大户。 所以,结果就是:这篇“手记7”被推迟了很久...很久... 多人博客的功能其实我一早就做出来了——至少,大概的框架是完成了的。 ...

Monster 1.0.6开启的新功能

多人博客 经过几个版本的更新,Monster已经开始有了丰富的功能,这其中就包括对Ghost多人博客的支持。 Monster主要是在updatesite.sh模式中支持多人博客,也就是说这个功能在update模式下可用。当在.monster配置文件的EMAIL参数中使用一个列表,例如: EMAIL=("aiming@gmail.com" "qomo@gmail.com") 那么多人博客的模式就自动开启,并在--sync-removed命令中有效。 注:如果你只是删除post,或更新theme中post的风格, ...

麦秸的垛 - 多人博客上线啦

麦子的文字写得比我好看,她的博客就叫“麦秸的垛”。 很早就说要把这个博客做成多人博客,其实也一早就做了,只是一直没上线。原因是从旧博客迁移过来的时候,几乎所有的文章都得再按markdown格式重排一遍。这个确实很花时间,比如我的那部分大概做了三个月呢。 所以“麦秸的垛”就一直拖着没上线。 麦子之前在新浪、搜狐和微软MSN上发的博文其实不少,我一次全迁移过来了,也是200多篇呢。所以接下来又得花阵子功夫来做排版了,不过应该会比我的快:毕竟她的博文没代码…… 我的文字太硬气,读起来难以让人愉悦,麦子的不会。这个,相信我。 点右上方的链接就好了。 ...

博客中的系列文章

【技术类】 Qomo技术系列 从基础开始:Qomo OpenProject中的一些关键词 从基础开始:Qomo OpenProject中的一些关键词(2) JavaScript面向对象的支持(1) JavaScript面向对象的支持(2) JavaScript面向对象的支持(3) JavaScript面向对象的支持(4) JavaScript面向对象的支持(5) JavaScript面向对象的支持(6) JavaScript面向对象的支持(7) Qomolangma实现篇(一):内核载入模块system. ...