什么是前端开发的核心技能,公说公有理,婆说婆有理,有的人说是算法,有的人说,不止是算法,会罗列一箩框,有的人说,js红包书里的提到的都是核心技能。
我个人的看法,作为一个前端开发者,掌握的东西实在是太多了,js、es、ts、css,各种s。
不过,借用大佬张鑫旭的话说,前端如果细分的话, 可以分为前端偏前(侧重css,偏界面开发),前端偏后(偏js,偏业务)。
今天探讨一下前端偏后部分。
其实前端偏后的核心技能就是能写业务代码,能写高质量的业务代码,能写可维护性好的业务代码,一句话,能写能给老板赚大钱的业务代码。
如果你在掘金里搜一下面试两个字,会搜出一大堆文章,每篇文章都会告诉你,你需要掌握的各种知识点,各种开发技巧,一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧,提升开发幸福感的10条JS技巧,搜集一波前端JS开发技巧,避免重复造轮子,《JS无形装逼,最为致命》,让人happy的开发技巧,等等等等。这些文章里所罗列的开发技巧重要性并不是相同的,有些是必须掌握的,有些是锦上添花,有些是提升幸福感,等等等等。
核心技能是必须掌握的,不掌握不行的,不掌握就不是前端开发,会被人鄙视的,。。。
核心技能掌握到什么程度呢,需要达到潜意识,不需要大脑思考,不能有迟疑,形成条件反射,达到肌肉记忆的程度,就像就像2+3=?,如果你要想一下,2+3= 几呢?这样子是不行的。
好了,上面说了一大堆废话,那到底什么是js开发的核心技能呢?
1 数组的操作,forEach,map,reduce,filter等方法必须达到神经质的程度,这些方法不能思考,不能想,这些方法的用法,参数的格式,必须达到肌肉记忆的程度。
2 闭包,这是javascript特有的(当然不是特有的,但是能把闭包玩到如此的高度,应该是js特有的,用闭包可以模拟出各种js本身不存在的语法特性,例如generator,promise,async、await,react中比较时髦的hooks,甚至整个Vue3,我们要对js的闭包持有足够的敬畏。
就先抛这两个例子,欢迎各路大神补充,也欢迎大伙拍砖。