賢いコードはできるだけ書かない
時にプログラミングをしていると、他の人が思いつかないような巧みなコードを書きたくなる。
でもチームでの開発ではそういったトリッキーなコードはできるだけ書かない方がみんなのためになる。
むしろ、誰もが思い浮かべる ...
Reactの関数コンポーネントでlodashのdebounceを使用するときはuseCallbackを使う
Reactの関数コンポーネントでlodashのdebounceをそのまま使うと、毎回関数が実行されてしまってうまく機能しません。
これはdebounceが内部的にsetTimeoutを使用していることと、関数コンポーネント ...
JavaScript 連続して関数を呼び出したくないときに便利なlodashのdebounce
mouseoverやscrollイベントが発火した際に何か処理を行いたいことはよくあることですが、これらのイベントは大量に発生するため、イベントが発火する度に関数を実行するとかなりの負荷がかかります。
lodashのdeb ...
React コンポーネントに関数を渡すときの書き方による違い
ボタンコンポーネントにonClick時に実行したい関数を渡す場合は、以下のように書くことができます。
<button onClick={this.handleClick}/><button onClick={( ...
Promiseのcatchで共通処理を行い時を考えてみた
Promiseのcatchで、共通の処理を行い時場合にカスタマイズされたcatchを追加してみました。
myCatch という関数を追加しています。
myCatch は、渡されたハンドラーを実行するとともに、共 ...
JavaScript ソースマップとは
Webpackを使うとJSファイルを一つのファイルにバンドルできますが、圧縮されたファイルなのでエラーが発生したときはどこでエラーが発生したかを調査するのが難しくなります。
ソースマップとは変換後のコードと変換前のコードを ...
ブラウザのコンソールでタイマーを使う
console.time を使用することで処理時間を計測することができます。
console.time('hoge')alert('1回目のアラート')console.timeLog('h ...
バグが発生する原因とバイアスについて考えてみた
なぜシステムでバグが発生するのかを考えてみました。
例えば二つの値を加算した結果を返す処理を書きたいとします。
const add = (a, b) => a + badd(1,2)//3add(2,10)// ...
TypeScript 制限付きの配列の型
配列の二つ目の要素がstringである型。(少なくとも要素は二つ以上ある)
type Hoge = ]const a: Hoge = //okconst b: Hoge = //ngconst c: Hoge = //ngcon ...
TypeScriptで可変長引数関数を使う
argumentsは型安全ではないため、以下のコードのtotalとnはいずれもanyになります。
const sum = function(){return Array.from(argumen ...









