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只是个概念的东西,没人对它感冒?