javascript 6.0--一个美丽的误会

习惯早晨起床上班前打开电脑,做一些必要的事情。今天也不例外。

php100也是我常去的网站之一,虽然知道它上面原创文章很少,论坛也不咋的(基本不去)。但IT信息更新得还都及时,相当于一个总结,所以每次打开都看推荐那一块的前几条。

有一篇名为《javascript 6看上去很美》的标题吸引了我。我熟悉并喜欢的语言不多,javascript是其中之一。所以,这个消息是必须要看的

文章内容也没有让我失望,甚至还有些许兴奋(我是个比较低调的人)。讲了几个javascript6很重要的新特性。在说之前,我要先谈一下我对javascript的一些了解和看法。

使用它也有两三年了,越来越对它不能释手,它的并不十分强大,但灵性十足的语法,让我着迷至今。然而,也有一些缺憾是我常常抱怨的。

一、它的断句语法不严格(对新手来说可能比较人性)

这就导致了写代码大意时,代码无法压缩。因为某些断句不存在的时候压缩会导致致命错误,而有些该不该断句的地方也常常是新手迷惑的地方,

比如:

var objFun=function(args){some sentence}

或者

var obj={};obj.mtd=function(args){some sentence}

这常常是令人疑惑的地方,因为它看似function定义语句,以}结尾。但实际是,它只是一个赋值语句,只不过在赋值的同时定义了一个function,那么,赋值语句结束,必须要有分号的。

还有javascript不支持字符串中换行,大概也是由于这个吧。

二、不支持默认参数

这是个很有争议的问题,javascript本身的灵活性,使得它即使不支持,也可以用变相的方法做到。最常见的是:

function func(arga, argb){
var vb=argb||defaultValue
}

这种做法最省事,但不够全面,一般情况下参数不严格的时候还都可使用。比较严格的做法是:

function func(arga, argb){
var vb=argb;
if(arguments.length<2 && argb===undefined){
vb=defaultValue;
}
}

三、一些比较深层次的机制,比如:继承

当然,javascript当初被设计就是一种简单的脚本语言,能做到这样的灵活性及强大功能,已经很不错了。我们确实不应该奢求它太多,如果需要,大可以改用java。

但是,喜欢一样东西,总想它能完美,至少,一点一点地。

但是现在这几点缺憾,包括更多一些本人尚未体会到的,更强大的理念,都在javascript6中实现了,虽然它只是一个标准,但我相信好的东西,应该是被更多人追求并努力实现的!

早上匆匆看了几眼,上班后百度了下,在oschina上看到了这篇文章JavaScript 6 看上去很美,这个应该是原版(翻译的原版),内容我就不再多述了,

英文原版其实标题是:ECMAScript 6 looks promising

所以,我说,这大概是个美丽的误会吧,ecma到javascript,还有比较长的一段路。不知道为什么译者直接将ecma改成了javascript。也许,ecma只是个概念的东西,没人对它感冒?