正文
基础不牢固,上层建筑建的再华丽,都是岌岌可危的。
前端的基础是什么?
是HTML、CSS,JavaScript。
特别是JavaScript,我们对前端基础的掌握程度,极大程度上体现在对JavaScript的掌握程度上。
所有的浏览器引擎运行的脚本语言都是JavaScript,我们使用的框架也是用JavaScript开发的。
即使最近非常流行的typescript,其实底层也是JavaScript,是需要编译为JavaScript后才能在浏览器运行的。
即使是高级前端工程师的面试中,对于JavaScript知识的考核也是必不可少的。
不仅体现在JavaScript语法,API,也很大一部分包含着最新的ES6的知识。
我们需要知道的原理不仅体现在框架的原理上,也体现在JavaScript语言和浏览器引擎的原理上。
高级前端工程师对于框架和语言的理解绝不会停留于了解API的层面上,需要深入到了解内部原理和运行机制的层面上。
JavaScript引擎运行各种数据类型的方法的操作细节,各个JavaScript runtime在运行JavaScript的差异细节,各个框架的设计原理,使用的设计模式,核心算法,比如拼接字符串时+方法和join方法,在不同浏览器因为引擎操作不同而有着截然不同的性能差异;又比如Vue响应式的原理,Virtual DOM生成真实DOM和Diff的算法,运用到的发布订阅设计模式,自定义指令,插件挂载等等,
即便不
懂这些
,写起业务逻辑来完全不耽误,但是不懂这些在前端市场上完全没有竞争力。
能完全弄懂这些原理的人的确相对很少,但是会写JavaScript、会用Vue之类框架的人却很多,此时如果企业看到你是了解原理的高级开发者,你的竞争力必然是陡然上升。
另一方面高级前端作为初级前端的引领者,要能够帮助初级前端工程师解决棘手的问题。
如果不懂得原理,如何能够快速的定位和解决问题,如何履行高级前端的职责?
如何能够对于不断变化的框架API迅速地理解和深入运用?