可靠React组件设计的7个准则之终篇
本篇文章重点阐述 可测试和富有意义。因水平有限,文中部分翻译可能不够准确,如果你有更好的想法,欢迎在评论区指出。 尽管 组合、复用 和 纯组件 三个准则在掘金平台似乎不太受欢迎,不过本着有始有终的原则,当然我个人始终还是觉得此篇文章非常优质,还是坚持翻译完了。本篇是最后 可靠R…
可靠React组件设计的7个准则之纯组件
原文的篇幅非常长,不过内容太过于吸引我,还是忍不住要翻译出来。此篇文章对编写可重用和可维护的React组件非常有帮助。但因为篇幅实在太长,我对文章进行了分割,本篇文章重点阐述 纯组件和几乎纯组件 。因水平有限,文中部分翻译可能不够准确,如果你有更好的想法,欢迎在评论区指出。 在…
可靠React组件设计的7个准则之组合和复用
原文的篇幅非常长,不过内容太过于吸引我,还是忍不住要翻译出来。此篇文章对编写可重用和可维护的React组件非常有帮助。但因为篇幅实在太长,我对文章进行了分割,本篇文章重点阐述 组合和复用。因水平有限,文中部分翻译可能不够准确,如果你有更好的想法,欢迎在评论区指出。 组合(com…
可靠React组件设计的7个准则之封装
原文的篇幅非常长,不过内容太过于吸引我,还是忍不住要翻译出来。此篇文章对编写可重用和可维护的React组件非常有帮助。但因为篇幅实在太长,我对文章进行了分割,本篇文章重点阐述 封装。因本人水平有限,文中部分翻译可能不够准确,如果您有更好的想法,欢迎在评论区指出。 耦合是决定组件…
可靠React组件设计的7个准则之SRP
原文的篇幅非常长,不过内容太过于吸引我,还是忍不住要翻译出来。此篇文章对编写可重用和可维护的React组件非常有帮助。但因为篇幅实在太长,我不得不进行了分割,本篇文章重点阐述 SRP,即单一职责原则。 我喜欢React组件式开发方式。你可以将复杂的用户界面分割为一个个组件,利用…
深入理解全能的 Reducer
这两段代码在功能上是等价的,都是数组中所有数字的总和,但是它们之间有一些理念差异。让我们先研究一下 reducer,因为它们功能强大,而且在编程中很重要。有成百上千篇关于 reducer 的文章,最后我会链接我喜欢的文章。 要理解 reducer 的第一点也是最重要的一点是它永…
【译】Proxy及其优势
通常,当谈到JavaScript语言时,我们讨论的是ES6标准提供的新特性,本文也不例外。 我们将讨论JavaScript代理以及它们的作用,但在我们深入研究之前,我们先来看一下Proxy的定义是什么。 MDN上的定义是:代理对象是用于定义基本操作的自定义行为(例如,属性查找,…
【中高级前端必备】手摸手教你撸一个脚手架
vue-cli, create-react-app、react-native-cli 等都是非常优秀的脚手架,通过脚手架,我们可以快速初始化一个项目,无需自己从零开始一步步配置,有效提升开发体验。尽管这些脚手架非常优秀,但是未必是符合我们的实际应用的,我们可以定制一个属于自己的…
【Step-By-Step】高频面试题深入解析 / 周刊07
1. 实现一个 JSON.stringify JSON.stringify([, replacer [, space]) 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串。此处模拟实现,不考虑可选的第二个参数 replacer 和第三个参数 spac…
【Step-By-Step】高频面试题深入解析 / 周刊06
本周是继承专题,在开始之前,需要先了解构造函数、原型和原型链的相关知识。 构造函数和普通函数的区别仅在于调用它们的方式不同,任何函数,只要通过 new 操作符来调用,那它就可以作为构造函数;任何函数,如果不通过 new 操作符来调用,那么它就是一个普通函数。 实例拥有 cons…
这儿有20道大厂面试题等你查收
今年来,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力。 本文挑选了20道大厂面试题,建议在阅读时,先思考一番,不要直接看解析。尽管,本文所有的答案,都是我在翻阅各种资料,思考并验证之后,才给出的。但因水平有限…
【Step-By-Step】高频面试题深入解析 / 周刊05
20. 实现 Promise.race 方法 在实现 Promise.race 方法之前,我们首先要知道 Promise.race 的功能和特点,因为在清楚了 Promise.race 功能和特点的情况下,我们才能进一步去写实现。 Promise.race(iterable) …
【Step-By-Step】高频面试题深入解析 / 周刊04
15. 什么是闭包?闭包的作用是什么? 闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包最常用的方式就是在一个函数内部创建另一个函数。 闭包使得函数可以继续访问定义时的词法作用域。拜 fn 所赐,在 foo() 执行后,foo 内部作用域不会被销毁。 无论通过何种手段将…
【Step-By-Step】高频面试题深入解析 / 周刊03
11. 什么是XSS攻击,XSS攻击可以分为哪几类?我们如何防范XSS攻击? 1. XSS攻击 XSS(Cross-Site Scripting,跨站脚本攻击)是一种代码注入攻击。攻击者在目标网站上注入恶意代码,当被攻击者登陆网站时就会执行这些恶意代码,这些脚本可以读取 coo…
【Step-By-Step】高频面试题深入解析 / 周刊02
6. 节流(throttle)函数的作用是什么?有哪些应用场景,请实现一个节流函数。(2019-05-27) 节流函数的作用是规定一个单位时间,在这个单位时间内最多只能触发一次函数执行,如果这个单位时间内多次触发函数,只能有一次生效。 举例说明:小明的妈妈和小明约定好,如果小明…
【Step-By-Step】高频面试题深入解析 / 周刊01
5.防抖(debounce)函数的作用是什么?有哪些应用场景,请实现一个防抖函数。 如果用一句话说明 this 的指向,那么即是: 谁调用它,this 就指向谁。 但是仅通过这句话,我们很多时候并不能准确判断 this 的指向。因此我们需要借助一些规则去帮助自己: 如果是 ne…
细说JS异步发展历程
所谓同步,就是在发出一个"调用"时,在没有得到结果之前,该“调用”就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由“调用者”主动等待这个“调用”的结果。此调用执行完之前,阻塞之后的代码执行。 "调用"在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一…
【面试篇】寒冬求职之你必须要懂的Web安全
随着互联网的发展,各种Web应用变得越来越复杂,满足了用户的各种需求的同时,各种网络安全问题也接踵而至。作为前端工程师的我们也逃不开这个问题,今天一起看一看Web前端有哪些安全问题以及我们如何去检测和防范这些问题。非前端的攻击本文不会讨论(如SQL注入,DDOS攻击等),毕竟后…
【面试篇】寒冬求职季之你必须要懂的原生JS(中)
互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力。 一年前,也许你搞清楚闭包,this,原型链,就能获得认可。但是现在,很显然是不行了。本文梳理出了一些面试中有一定难度的高频原生JS问题,部分知识…
【面试篇】寒冬求职季之你必须要懂的原生JS(上)
互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力。 一年前,也许你搞清楚闭包,this,原型链,就能获得认可。但是现在,很显然是不行了。本文梳理出了一些面试中有一定难度的高频原生JS问题,部分知识…