知识卡片

JS语言血统的三重混合

专业/工作 · 404

内容

JavaScript的语法外观来自Java(花括号、分号、C风格控制结构),一等函数(函数可以作为值传递、赋值、返回)来自Scheme,基于原型而非基于类的继承机制来自Self语言。三种来源分别决定了它的表层语法、函数式编程能力和面向对象机制。这解释了为什么JS常给人”看起来像Java但用起来完全不同”的感觉:语法的相似性只是表皮,真正决定编程范式的是背后借鉴的函数式与原型式设计,这两者才是JS真正的DNA。理解这个血统有助于不把JS的类语法([[原型继承代替类继承的本质]])误当成传统面向对象语言来用。

参考来源

《JavaScript权威指南(原书第6版)》第1章《JavaScript概述》