JavaScript 是一门【嵌入式】的语言。
所谓嵌入式:指它可以被集成到很多的其他应用,并且能够操作那些应用提供的 API。
嵌入式特性,让他极其轻量。
既然是嵌入式的,那么语言本身就没有必要设计过多的功能,起码不能设计与固定生态有关的功能,只需要能够调用被嵌入的环境(宿主环境)提供的 API 即可。
于是就会发现,它的核心,满打满算也就两个部分:基础语法 + 标准库。
对比其他编程语言为了满足生态下的功能实现,加入了各种生态的功能,导致语言非常臃肿,而JavaScript却是非常轻量。
嵌入式特性,让他应用极其广泛。
因为是可以嵌入到其他应用的,那么,只要是能够被嵌入的环境(宿主环境),那么宿主环境的功能理论上就都可以通过 JavaScript 实现。
比如常见的浏览器,服务器端的 Node 宿主,之前流行的 Adobe,一些 PDF 阅读器,一些打印机,一些机器人,跨平台的 APP,跨平台的桌面应用等等。
嵌入式特性,让开发者极其烦恼。
正因为它的嵌入式特性,导致了一个场景,比如某个生态,就以 “
Web浏览器”为例,可能有很多的厂商开发了浏览器,那么如果市面上出现了比较流行的多款浏览器,当开发者要实现一个功能的时候,需要考虑各个厂商对该功能提供的 API,如此就有可能出现以下问题:
其实,这部分正式学习 JavaScript 最为困难和容易出错的地方。
综述:JavaScript 的嵌入式特性,让它非常轻量,易于学习;同时又因为需要嵌入到不同的应用中,开发者需要掌握的关于特定生态的知识也越发的多和复杂。
对此,各位开发者,有什么不同的建议和看法,请在评论区讨论。