MeloGuo Blog

努力给生活加点甜

面试官初体验

当我成为面试官的那一刻,一切全变了

面试的契机 面试是一件大部分人都逃不过的事情。除了那些少数的天才们一毕业就被企业哄抢,剩下的人都要经历许多次面试。我从大学毕业之后一共参加了大概 10 次面试,拿到了 5 个 offer,比起动辄几十次面试经验的人我是很克制自己。相对于被面试,面试别人的经历就不是每个人都有体验过,尤其是对于职场新人。碰巧最近公司积极招聘,面试者实在太多,于是面试的一部分任务便落到了我的头上。 在面对一件陌...

【翻译】globalThis 全知道

补丁上面打补丁,globalThis 实属无奈之举

由 Jordan Harband 提出的 ECMAScript 的新特性 globalThis 提供了一种获取全局对象的标准方式。 JavaScript 的全局作用域 JavaScript 的作用域从全局作用域开始为节点,形成了一个嵌套的树形结构。 仅仅在浏览器里直接使用 <script> 标签时的代码直接运行在全局作用域中。在这当中有两种全局变量: 普通的全局声明变量 ...

【翻译】ES2019有啥新玩意?

都 9021 年了,你还......

作为最受欢迎并且是 web 开发的主要编程语言之一,JavaScript 在不断地进化并且每次迭代它都会带来新鲜的内部变化。让我们看看 ES2019 中那些能快速放入日常使用的新特性: Array.flat() 你现在可以指定深度来递归的拍平嵌套数组。深度默认为 1 ,如果你想全部拍平可以使用 Infinity。这个方法不会修改原数组而是会创建一个新的: const arr1 = [1,...

【翻译】柯里化还是偏函数应用?

偏函数应用与柯里化

许多刚开始学习函数式编程的人都会对柯里化和偏函数应用之间的区别感到困惑。实际上,直到最近也很少能看到在 JavaScript 中使用真正的柯里化,而且许多函数工具库所声称的的curry()方法并不是柯里化函数,而是偏函数应用! 如果你对这两者之间的区别感到困惑,那么接下来的内容将会为你解释清楚,但是在最开始,让我们先来点名词解释: 定义 应用(Application):调用一个函数并传入...

代码书写原则

原则就是用来打破的

代码书写原则 在书写代码时每个程序员都会有自己的风格和喜好,但是希望大家可以遵守以下一些基本原则(并不是规范)来让我们的代码变得更加友好,不至于让小伙伴看到后想跳楼。 代码优化基本原则 易读性优先 如果不是性能瓶颈,就不要为了性能而改写代码 复杂性守恒原则:无论你怎么写代码,复杂性都是不会消失的 推论:如果逻辑很复杂,那么代码看起来就应该是复杂的。如果逻辑很简单,代码看起来就...

好像还差着那么一股劲儿

评流浪地球

十分个人的观影碎碎念,请勿撕逼。 在开始关注春节档时候,流浪地球被我放在了备选里。飞驰和外星人是必看的,流浪嘛看看口碑再说了。但是经历了大年初一被飞驰吓坏和外星人口碑崩坏后,流浪就提到了过年要看的第二部影片。整部影片看下来我感觉有些可惜,在一些镜头、表现的节点上我刚刚达到开始爽的状态,就戛然而止了。所以在观看的过程中我的脑子里也在自己给自己剪辑了一些镜头。 1. 冰封大裤衩 看惯了复仇者联...

React.PureComponent全解析

Component,你可不够纯哦

React.PureComponent 在 v15.3 中增加了一个新 API,从名字可以看出 PureComponent 应该比 Component 更纯。文档中解释,它们的不同之处在于 React.Component 没有实现 shouldComponentUpdate(),但是 React.PureComponent实现了它。采用对属性和状态用浅比较的方式进行更新。 如何浅比较? 浅...

React 的生命周期新变化与老用法

爷爷,React 生命周期函数又变啦

React 全新的生命周期函数 React 在 16+ 版本经历了重大的生命周期函数的更新,取消了componentWillMount, componentWillReceiveProps和componentWillUpdate。增加了两个新函数,为getDerivedStateFromProps和getSnapshotBeforeUpdate。 可以看到曾经在 Mounting 和 ...

协程、co.js 和 async/await

你用过 co.js 么?

协程(Coroutine) 协程的概念是相对多进程或者多线程来说的,他是一种协作式的用户态线程 与之相对的,线程和进程是以抢占式执行的,意思就是系统帮我们自动快速切换线程和进程来让我们感觉同步运行的感觉,这个切换动作由系统自动完成 协作式执行说的就是,想要切换线程,你必须要用户手动来切换 协程为什么那么快原因就是因为,无需系统自动切换(系统自动切换会浪费很多的资源),而协程是我们用...

React中的受控组件与非受控组件

或许我曾经误会了非受控

受控组件、非受控组件与混合组件 我们都知道在 React 中有两个概念分别是受控组件与非受控组件。文档中推荐在大多数情况下推荐使用受控组件去实现表单,但是许多文章又推荐非受控组件,并且在一些面试题中还提到了混合组件。这篇文章就是为了剖析这三种的使用情境和实现方法。 定义 受控组件 在受控组件中,表单数据是被 React 组件所控制的。表单的 value 由组件维护。当我们在处理一个受控组件...