読者です 読者をやめる 読者になる 読者になる

うならぼ

どうも。

Javascript

Hatena::Let、もしくはES5世代のminifyツール(JavaScript::Squish)でTemplate Literalsを使う

ES2015のTemplate Literals、便利ですねー。プレースホルダの展開といい、改行を含められることといい、"‘をエスケープせずに済むことといい、UserScriptやブックマークレットではとても便利です。 そんな便利な Template Literals ですが、Hatena::Let でそ…

30行でimg要素をダミー画像に置き換える

ダミー画像ごときで外部サービスに依存するのもあれだし、書いた。jQuery使ってるけど使ってないようなもの(?)。メインはcanvasなのでIE9+で動くんじゃないかな。 <img src="" width="160" height="60" alt="バナー"> と書くとこうなる。 いつもながら似たようなことを考える人はいるわけで、細かく設定したい…

Node.jsがC:hoge.txt形式の相対パスをサポートしてたけど扱いが難しいって話

C:hoge.txt は絶対パスでしょうか。答えはNOです。 これはCドライブのカレントディレクトリに対する相対パスを表します。絶対パスならドライブ文字、コロンに続いてバックスラッシュを付けなければなりません。 Naming Files, Paths, and Namespaces (Window…

スマホのブックマークレット登録にdataURIを使う

ブックマークレットをブックマークするときに、PCのブラウザだったらjavascript:なリンクもそのままブックマークできることが多いですが、スマホはそうではないです。 ないので、textareaで表示してコピペさせるとか <textarea>javascript:alert('JBP Yeah!')</textarea> 適当なUR…

UserScript楽しいって話(作例つき)

GreaseMonkeyって昔流行ったあれでしょ?みたいな印象を持ってたんですが、あれおもしろいですね。便利ですね。 すっかりChrome使いなのでTampermonkeyで動作確認しています。 便利な道具 ヒアドキュメント UserScript界隈では <> という形式が使われていた…

JSで1..Nの総和を計算する、もしくは要素数Nの配列を作る

ask.fm Haskellで書いて短いのはともかく、JSのコードがなんとも。 探してみると Array.prototype.reduce() があった。ちゃんと要素のインデックスも渡してくれるので、これを順に足しこめばいける。 あとは要素数Nの配列をどうするか。Array(100) とすればu…

Named Function Expression が作るスコープ

ES6のclassがeslintのno-shadowルールに引っかかるという話を調べる過程で、eslintのスコープ解析に使われているescapeの動きを見ていたら面白いことに気づいた。ブラウザで動くデモが便利。 var hoge = function piyo(){}; これだけのコードでスコープが3つ…