JavaScript的嵌入式功能:开发者的双刃剑

发表时间: 2024-05-22 09:07

JavaScript 是一门【嵌入式】的语言。

所谓嵌入式:指它可以被集成到很多的其他应用,并且能够操作那些应用提供的 API。


嵌入式特性,让他极其轻量。

既然是嵌入式的,那么语言本身就没有必要设计过多的功能,起码不能设计与固定生态有关的功能,只需要能够调用被嵌入的环境(宿主环境)提供的 API 即可。

于是就会发现,它的核心,满打满算也就两个部分:基础语法 + 标准库。

对比其他编程语言为了满足生态下的功能实现,加入了各种生态的功能,导致语言非常臃肿,而JavaScript却是非常轻量。


嵌入式特性,让他应用极其广泛。

因为是可以嵌入到其他应用的,那么,只要是能够被嵌入的环境(宿主环境),那么宿主环境的功能理论上就都可以通过 JavaScript 实现。

比如常见的浏览器,服务器端的 Node 宿主,之前流行的 Adobe,一些 PDF 阅读器,一些打印机,一些机器人,跨平台的 APP,跨平台的桌面应用等等。


嵌入式特性,让开发者极其烦恼。

正因为它的嵌入式特性,导致了一个场景,比如某个生态,就以 “

Web浏览器”为例,可能有很多的厂商开发了浏览器,那么如果市面上出现了比较流行的多款浏览器,当开发者要实现一个功能的时候,需要考虑各个厂商对该功能提供的 API,如此就有可能出现以下问题:

  • 各个厂商对该功能提供的 API 不一致
  • 某些厂商可能目前未提供该 API
  • 即使是同一个商场,不同版本的浏览器可能对该功能的支持也不一样
  • 等等

其实,这部分正式学习 JavaScript 最为困难和容易出错的地方。


综述:JavaScript 的嵌入式特性,让它非常轻量,易于学习;同时又因为需要嵌入到不同的应用中,开发者需要掌握的关于特定生态的知识也越发的多和复杂。

对此,各位开发者,有什么不同的建议和看法,请在评论区讨论。