金額を表示する際、日本円だと整数表示が基本ですが、ドルだと小数点以下2桁分まで表示したりします。なんとなく小数が出てくると精度的に不安になってくるので、どれくらいまでなら正確に表示できるか試してみました。
タグ: javascript
Excel 用の書式付きでテーブルをコピーする JavaScript を書いてみる
Web ではあまり見かけませんが、 Windows ネイティブアプリで、コピーした表を Excel に貼り付けるとスタイルが付いた状態になる機能をまれに見かけます。ブラウザからのコピーでも実現できないか試してみました。
mermaid をズーム&パン可能にする
mermaid で作った図を Web ページに出す際、図が入りきらないので小さめに出したりしています。ただ、そうすると文字が小さくなって読みづらくなります。Google Maps みたいにズームとかパン(上下左右にドラッグで移動)できたらいいなと思ったのでスクリプトを書いてみました。
常用漢字の正規表現を書いてみる(JavaScript)
普段漢字の入力チェックはそれほど拘らないことが多いです。とりあえず Unicode の漢字ブロックにいればいいかなという具合で作ってしまいます。ただ、日本には常用漢字という名の文字セットがあり、この通りに正規表現でバリデーション組んだらどうなるのか気になったので作ってみました。
window の scroll イベントがうまく取れない
JavaScript でスクロールイベントをトリガーにする処理を書いたのですが、うまく動かなかったので調査しました。よく考えてみると当たり前な原因だったのですが、少し手間取ったので記事として残しておこうと思います。
EC-CUBE 4 に TypeScript を導入する
ちょっとした処理なら JavaScript でも事足りるのですが、込み入った処理を書こうとすると保守性が残念なことになりがちです。TypeScript を導入してスパゲッティ化を抑えていきたいと思います。
正規表現の $ は文字列の最後ではない場合がある
最近 ^
や $
より \A
や \z
を使った方がいいという話を聞いたり、いろいろな言語を触ったりして少し混乱してきたので、言語ごとの正規表現の違いについてまとめようと思います。
再帰的に ko.track する
複雑な構造の ViewModel を knockout.es5 で扱う際、再帰的によろしくやってくれるものがないため作成してみました。
結局、ko.track はどこまで効くのか
knockout.js のプラグインである knockout-es5 を使用すると、双方向バインディングが利用できるようになります。入力欄の内容が ViewModel に入るだけでなく、ViewModel に代入した値が画面に反映されます。
ただ、単純に ko.track(obj) するだけだと、ViewModel の深い階層のオブジェクトに値を代入しても画面に反映されなかったり、今まで動いていたのに配列を書き換えた途端に動かなくなったりと、いまいち挙動がつかめません。一通り以下で試してみようと思います。
TypeScript でタグ付けされたTemplate literalを使う
前回の記事:JavaScript で String.format したいで、テンプレートリテラルの使い方は何となくわかりましたが、いざ TypeScript で使うぞってなったときにタグ関数の引数の型がよく分からなかったのでメモ。