Skip to content

Instantly share code, notes, and snippets.

@ThaddeusJiang
ThaddeusJiang / When-to-use-function.md
Created May 9, 2019 10:37
[JS] When to use function ?

什么时候使用函数声明?

Never

别打我,不是我说的,《JavaScript 精粹》中说的。

函数声明,作用域提升和 this 绑定等问题。

变量函数缺没有这种问题,爽歪歪。

对于匿名函数

@ThaddeusJiang
ThaddeusJiang / JS-float-number-problem.md
Created May 9, 2019 10:36
[easy buggy] JS float number problem
0.1 + 0.2 
> 0.30000000000000004

解决方法,整数没有这个问题,所以先变成整数,在运算。

复杂问题或者不想思考的时候,是可以使用 number-precision 解决。

@ThaddeusJiang
ThaddeusJiang / easy-equal-is-enough.md
Created May 9, 2019 10:34
[easy buggy] Do you really need equal `Object`?

大多数场景我们并不需要比较对象是否完全相等,我们只需要比较关键属性(如 id)。 lodash 提供了非常方便的函数用于比较对象,如 equal includes。 但是我们通常会向对象中注入辅助属性以方便编写逻辑代码。 这些辅助属性并不是模型属性,所以不需要发送给 API。如果直接使用 equal 判断两个对象是否相等,很容易的到错误结果(包含辅助属性)。 所以要留心。

大学开发 Java 时,对这种情况特别了然于胸,谁知道写 JS 写多了,竟然成了我的主要 bug 出处。😂

Cypress Memo

Cypress is a testing tool, can test anything that runs in a browser.

  • End-to-end tests
  • Integration tests
  • Unit tests

Summary

  1. Set up tests
@ThaddeusJiang
ThaddeusJiang / JS-default-value-problem.md
Created May 9, 2019 09:40
[easy buggy] JS default value just work for `undefined`
const {
    packageQuantity = 0,
    packageVolume,
  }: {
    packageQuantity: number,
    packageVolume: Object,
  } = batch;
  
// if batch = {
@ThaddeusJiang
ThaddeusJiang / B2B.md
Created April 17, 2019 03:23
Enterprise特有の課題
  1. LTS
  2. OS バージョン固定
@ThaddeusJiang
ThaddeusJiang / README.md
Last active April 17, 2019 03:18
React passing params using data-attributes

使用 DOM API data- 传参

handleClick = (e) => {
  this.setState({
    justClicked: e.target.dataset.letter
});
}
@ThaddeusJiang
ThaddeusJiang / vim.md
Created March 27, 2019 05:31
.vimrc and .viminfo different

.vimrc is vim configuration.

.viminfo is vim cmd history.

@ThaddeusJiang
ThaddeusJiang / mac-hostname.md
Created March 26, 2019 00:15
[Zsh] change MacOS hostname

Change MacOS hostname

  1. Open System Preferences > Network
  2. Select your network(my network is WI-FI)
  3. go to WINS tab
  4. change NetBIOS Name, Apply.
@ThaddeusJiang
ThaddeusJiang / bash-zsh.md
Last active March 24, 2019 12:35
bash and zsh exchange