理解ECMAscript和javascript
作为一个前端开发,JavaScript是基础中的基础了。不过即使是编程语言本身也在不断成长。ECMAScript即是JavaScript所实现的标准,那么该如何理解JavaScript和ECMAScript的关系呢?
我们把JavaScript的所有功能作为一个全集。有一定开发经验的人会发现,这个全集的界限似乎是很模糊的:有些功能在一些古老的浏览器上是不支持的,那么这些功能能否算作JavaScript功能中的一部分呢?
抛开dom、bom不谈,仅对JavaScript核心功能来讲,不同浏览器的实现也是不同的。实际上,现在的JavaScript是按照ECMAScript标准实现的。标准并不针对语言,但是提供了整套标准,来规范实现该套标准的语言的功能。
我们用计算机来举例。每个厂家制造的计算机都是各有特色的。但是我们在讨论一台计算机的时候,总是要求它一定要包括主板、cpu、机器外壳、各种接口等配置。而厂家制造的计算机各有特色,例如笔记本电脑的外壳就会很轻便,台式机的外壳兼具稳定与散热功能等等。
JavaScript是浏览器厂商对ECMAScript标准的实现。该标准是开源的。每年会发布一次标准,各大浏览器也会逐步将标准中的新功能实现。
ECMAScript标准中,2015和2019是两个相对比较大的版本;2015就是我们熟知的es6,新增了解构、class、module等等大量新的标准语法;而2019也对数组、对象提供了很多方法。
标准在进步,学习也不能止步。