tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

javascript

【Nuxt】ビルド時にFunction.name使うと動かない問題

StringFilterみたいなへルパクラス作って以下のようにfillterを作っていた Vue.filter(StringFilter.capitalize.name, StringFilter.capitalize) が、ビルド時に動かないFunction.nameが原因だった。 developer.mozilla.org単純にminifyするとfunction名が変…

jestでUnhandledPromiseRejectionWarningが出たら失敗させる

Promiseが未処理だと起こるこれ。UnhandledPromiseRejectionWarning: Unhandled promise rejectionjestに限らないがこれが出ると原因の特定が難しい。せめて作業中に失敗するのであれば、作業中のdiffを見れば原因の特定が想像つくが、exitcodeが0なのでテス…

(JS)同じオブジェクトの繰り返しを作る

いつも忘れてぐぐる new Array(10).fill({ hoge: 'piyo' })

HTMLCanvasElement.toBlobくそ遅い

developer.mozilla.org3072 x 1920 とかでかい解像度のcanvasをBlobに変換するとクソ遅い。 canvas.toBlob((blob) => { // Do something }) callbackつらいのでPromise化 new Promise((resolve) => canvas.toBlob((blob) => resolve(blob)) ) でも遅いので結…

正規表現を使ってディレクトリ内のファイルをrequire出来るようにする

requireでは、ファイル名を直接指定する必要がある。 require const hogehoge = require('./hoge/hogehoge.js') たまーに動的に使いたいときがある(NuxtJSでVeeValidateでカスタムルール作るときとか)。 こう使ってたりすることが多い。 names.forEach(nam…

Javascriptで基底クラスで子クラスのインスタンスを返す

class Parent { static getChildClass() { return new this() } } class Child extends Parent { static start() { console.log(this.getChildClass()) } } Child.start() // Child {}

javascriptでregect

var arr = [1,2,3,4,5,6,7,8,9,10]; arr.splice(... [0,arr.length].concat(arr.filter((v) => v % 2 == 0))) 結局こっちがみやすい arr = arr.filter((v) => v % 2 == 0)