========== ecmascript 的一些发展新动向 (e5a57b27 - initial commit)

更弱、更受限
严格模式禁止 arguments.callee - 可以 "让 js 引擎简化调用堆栈"
- "Are you saying it is depricated just because it's hard to optimize? That's kinda silly."
- http://stackoverflow.com/questions/103598/why-was-the-arguments-callee-caller-property-deprecated-in-javascript
- 我认为 arguments.callee 是很重要的元信息
Function.prototype.bind - 虽然 c++ 到处都是毛病,但绑定可比 js 的这个强多了,所幸 js 自己写绑定比 c++ 简单得多 更扭曲、更麻烦
(肥)箭头函数
- 名字恶心 - 肥箭头 - 恶心的不是肥字,是为什么要加个肥字,或者说为什么等号和连字号相比是肥
- - 或许和把自己的宝贝命名为狗剩是同一种思路?这在某种意义上的确可笑
- 语法恶心 - () => {} ,当参数个数 = 1 时可省略圆括号;当语句个数 = 1 时可省略花括号,此时隐含 return 前缀
- 在定义(而不是调用)时绑定 this - 可能是好的初衷,但绝对是另一个混乱的根源
- 不能作为构造函数 - 因为其 this 在定义处就绑定了
- 没有 arguments - 莫名其妙,参见另一个让人哭笑不得的 es7 提案 additional meta properties
let, const
- "让 js 引擎使用更少内存",let 排除作用域外引用,const 只分配一次 - 我觉得这是引擎的任务
- "const 防止无意间修改变量" - 无意间修改变量显然是程序 bug
- 我的看法是 const 比 let 强点,用来定义全局变量。回忆 js 的值和引用,const 能锁定几个?
promise - 必须用 new,必须传入闭包 - js 闭包是很好,可你要求我使用闭包?大家可以看看 fetch,感受一下爽不爽 更不像 js
let, const, class - "the determined Real Programmer can write Fortran programs in any language"
- 经过这么多语言的 let 的轮番攻击现在我看见 let 就反胃,本来 let 是个很好的词。这让我越发喜欢 var
public static void main - "soon brother, soon" 更喜感
` - 模板字符串
@ - 装饰 https://github.com/wycats/javascript-decorators - 装饰不是我翻译的,是设计模式翻译的
# - 私有成员,firefox 似乎以前也用过井号
:: - 绑定 - 2 标点不算多,展开运算符有 3 个标点呢。期待 4 标点、5 标点甚至 10 标点组合!
这些标点一直保留着不让代码用,为的是搬出来自己用,给你一个惊喜 更打脸
重新定义以前占用的关键字、标点 - 这一点 c++ 已经做了,js 虽然暂时没动静但我确定这些人肯定不甘落后
arguments - es6 - 严格模式禁用,箭头函数没有;es7 - 把 arguments 换个名字叫 function.xxx 吧
- https://github.com/allenwb/ESideas/blob/master/ES7MetaProps.md Q - "You don't _have_ to use feature $x because it is new"
A - 我不知道这句话有什么用,这句话是说 js 中的任何 feature 都没必要用? Q - "The CONST and LET keywords is not only about performance and memory, it's also about trust!
It's about that I can trust that noone else screwed up these variables!"
A - "If "someone" adds to Object.prototype, you track it down, remove the offending code, then remove the offending developer."
- http://stackoverflow.com/questions/7847350/how-to-check-if-object-is-empty https://github.com/tc39/ecma262
http://kangax.github.io/compat-table/es6/
http://kangax.github.io/compat-table/esnext/
http://www.bennadel.com/blog/2949-var-for-life---why-let-and-const-don-t-interest-me-in-javascript.htm 理想语法 - 括号 - 左边 != 右边和左边 = 右边的区别在于前者可嵌套
() - 表达式?
[] - 数组
{} - 对象
() {} - 函数
`` - 模板字符串
'' - 字符串
"" - 字符串
// - 中间有内容时是正则表达式,否则开始单行注释 理想语法 - 符号、关键字不区分大小写

ecmascript 的一些发展新动向的更多相关文章

  1. JavaScript 、ECMAScript、commonJS 发展历史 与标准化发展

    本文介绍下JavaScript和 ECMAScript的诞生及发展历史,以及标准化过程. 一.JavaScript诞生 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版. ...

  2. 车架号VIN码识别,合格证,购车发票,房产证,车牌,驾驶证,行驶证,征信报告等等识别 从易鑫、大搜车、淘车网,看汽车金融发展新模式

    随着我国汽车保有量和产销量的持续增长,汽车技术的日趋成熟,以及互联网+对汽车行业的不断影响,汽车金融的市场规模逐步扩大,市场主体逐步丰富,汽车金融模式也在不断演进. 2016年左右,美国主要汽车厂商通 ...

  3. 个人认为目前比较好用的ECMAScript(16-20)新特性

    ECMAScript(16.17.18.19)新特性 Array.prototype.includes includes 是数组上的简单实例方法,可以轻松查找到数组中是否包含指定内容(包括NaN) 返 ...

  4. 5G边缘计算:开源架起5G MEC生态发展新通路

    摘要:‍‍本文尝试从‍‍边缘计算的角度来阐述了‍‍为什么‍‍要把边缘计算当做一种新的生产关系来构建,‍‍以及如何用开源来构建这种新的生产关系. 5G推动新一轮工业革命 过去‍‍人类经历了三次工业革命, ...

  5. [.net程序员必看]微软新动向之Android和IOS应用 visual studio 2015 Cordova[原创]

    自萨蒂亚·纳德拉(Satya Nadella)上任微软CEO以来,可谓是惊喜不断,仿佛让世界尤其是我们.net程序员心中又燃起了希望.先是免费提供 iOS 版和安卓版 Office:然后在 xbox ...

  6. ECMAScript 6中数组新方法

    数组的方法 数组的的大部分方法都可以实现数组的遍历. foreach方法 实现数组的遍历 const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.forEach(fu ...

  7. 微软新动向之Android和IOS应用 visual studio 2015 Cordova[原创]

    自萨蒂亚·纳德拉(Satya Nadella)上任微软CEO以来,可谓是惊喜不断,仿佛让世界尤其是我们.net程序员心中又燃起了希望.先是免费提供 iOS 版和安卓版 Office:然后在 xbox ...

  8. ECMAScript 6 入门之新的数据类型Symbol

    1.Symbol,一个每次创建都不一样的值 Symbol undefined null Boolean String Number Object let c=Symbol("这是一个Symb ...

  9. ECMAScript 2016(ES7)新特性简介

    简介 自从ES6(ECMAScript 2015)在2015年发布以来,ECMAScript以每年一个版本的速度持续向前发展.到现在已经是ECMAScript 2020了. 每个版本都有一些新的特性, ...

随机推荐

  1. 如何给网页标题栏上添加图标(favicon.ico)

    favicon.ico详解:     favicon是Favorites Icon的缩写,favicon.ico是指显示在浏览器收藏夹.地址栏和标签标题前面的个性化图标. 设置步骤: 1. 把做好的f ...

  2. 为什么c程序里一定要写main函数

    一. 学习过程 编写程序f.c: 对其进行编译,正常通过,再对其进行连接,出现错误: 显示的出错信息为: 翻译成中文是:在c0s模块没有定义符号’_main’. 那么这个错误信息可能与文件c0s.ob ...

  3. [LeetCode 112 113] - 路径和I & II (Path Sum I & II)

    问题 给出一棵二叉树及一个和值,检查该树是否存在一条根到叶子的路径,该路径经过的所有节点值的和等于给出的和值. 例如, 给出以下二叉树及和值22: 5         / \       4  8  ...

  4. 【HDOJ】4515 小Q系列故事——世界上最遥远的距离

    简单题目,先把时间都归到整年,然后再计算.同时为了防止减法出现xx月00日的情况,需要将d先多增加1,再恢复回来. #include <cstdio> #include <cstri ...

  5. Android 5.0 之SwipeRefreshLayout

    金田 下拉刷新是一种比较常用的效果,Android 5.0之前官方并未提供类似的控件,App中主要是用的第三方库,例如PullToRefresh,ActionBar-PullToRefresh等.刚好 ...

  6. AOJ 0118 深度优先搜索

    日文题... 题意:一个面积为H*W的果园,种了苹果,梨和蜜柑.相邻(上下左右)的果树属于同一个区域,问果园共有多少个区域. 分析:迷宫问题.对于每一个格子,可以用深度优先搜索把相同果树的格子遍历并标 ...

  7. ubuntu配置bridge网桥

    先安装uml-utilities,该工具包含建立虚拟网络设备(所谓的“TAP interfaces”)的工具: sudo apt-get install uml-utilities 安装 桥接工具 b ...

  8. WP独立文件资源字典

    有时候,开发者想把资源字典定义在单独的XAML文件中,在网上找了找,没找到比较详细的,自己弄了许久. 1. 新建xaml资源字典文件,如在根目录下“ResourceDictionary1.xaml”, ...

  9. 为什么要使用Nginx?

    这里做了些基准测试表明nginx打败了其它的轻量级的web服务器和代理服务器,同样也赢了相对不是那么轻量级的产品. 有人说这些基准测试是不准确的,因为在这样那样的环境下,做的比较不一致.我倾向同意基准 ...

  10. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...