听说 JavaScript 是一门解释型语言?

368 阅读2分钟

JavaScript 是解释型语言还是编译型语言呢,很多前端朋友常常会感到困惑,要想知道谜底,我们要先搞清楚两个概念:解释型语言和编译型语言。

前言

我们写的每一行代码对于计算机来说,就是一个一个的指令,但这些指令计算机并不懂,所以需要一个翻译官来做这些事。

用人话说,对于编译型语言,计算机看得懂,自己就能当翻译官,可以直接翻译成可读的机器代码;而对于解释型语言,计算机摇摇头表示不懂,所以需要请个翻译官,即「解释器」,解释器翻译后再告诉计算机,让计算机去执行。

编译型语言

根据前面说的,我们可以知道,编译语言能被计算机直接识别并交给处理器执行。所以编译语言执行的效率更高更快。

除此之外,开发人员还能更好地控制计算机硬件方面的东西,比如说内存管理、CPU。

我们常见的编译型语言有:C、C++、Java、Go...

编译语言最大的优势就是执行速度更快

当然它也有的缺点,主要是

  1. 在测试前完成编译动作需要额外的时间
  2. 在生成二进制代码时对平台有一定的依赖性

解释型语言

正如前面所说,解释型语言需要一名翻译官,也因此相对于编译语言它的执行效率更低,不过随着技术的发展,两者之间的执行效率的差距已经逐步缩小了,在使用上几乎感受不到有什么影响。

我们常见的解释型语言有:JavaScript、PHP、Python...

解释型语言的优点是更加灵活,因为它是在程序的运行过程中进行解释,并且它的程序比较瘦小,当然啦,它的缺点就是执行速度,毕竟解释型语言多了一个「翻译」的动作。

所以, JavaScript 就是一门解释型语言,你答对了吗?