# 序言

接触 javascript 已有数年,从 感受 Java 的繁琐到 体验到 javascript 的便捷和疑惑,越来越为之着迷。当我仅仅把他当做 赚钱的技能的时候,我曾认为学好他的使用就是全部。随着时间的增加,让我逐渐意识到了理解原生 javacript 的重要,原型 继承的使用、es6 语法的使用...

然而这并不是全部。对于许多面试题,例如变量提升、lambda 表达式、类型转换等等,我曾经嗤之以鼻。感觉他们就像 1 + 1 = 2 一样简单,然而就好像 1 + 1 = 2 我无法证明,对于这些异常或是不清楚的表现,我并没有“证明”。

随着时间的推移,我对一些计算机底层的知识越发着迷,同时日新月异的工具也驱动着技术的前进。 v8 引擎到底有着怎样的神秘面纱, vue 是怎样一步一步诞生,编译到底有着什么样的魔力,计算机到底怎样识别各类的语言...

在找寻这些答案的过程,离不开工具、脚本、语言等等全面的新事物。我经常会思考到底怎样学习前端。曾经怀疑过是否前端就应该专注 前端的领域,不去涉及其他“无用”的方向。现在我完全抛弃了这种想法。只要是计算机领域内,那么知识一定是相互依赖的,只不过是多 年来优秀的人逐渐的提供了大量的技术让前端、后端、操作系统等等可以分开去了解,但是他们自身从中做了大量的工作,当技术达到一定 瓶颈时,打破瓶颈最好的方式就是去理解前人的方式,甚至打破常规创造更好的方式。

与其站在巨人的肩膀,不如成为那个巨人。