- 結局、ko.track はどこまで効くのか
knockout.js のプラグインである knockout-es5 を使用すると、双方向バインディングが利用できるようになります。入力欄の内容が ViewModel に入るだけでなく、ViewModel に代入した値が画面に反映されます。 ただ、単純に ko.track(obj) するだけだと、ViewModel の深い階層のオブジェクトに値を代入しても画面に反映されなかったり、今まで動いていたのに配列を書き換えた途端に動かなくなったりと、いまいち挙動がつかめません。一通り以下で試してみようと思います。
- TypeScript でタグ付けされたTemplate literalを使う
前回の記事:JavaScript で String.format したい で、テンプレートリテラルの使い方は何となくわかりましたが、いざ TypeScript で使うぞってなったときにタグ関数の引数の型がよく分からなかったのでメモ。
- JavaScript で String.format したい
他の言語とかで、軽くエラーメッセージ出したい時によく string.format を使うのですが、JavaScript には存在しません。なにかしら似たようなものはないかと Stack Overflow を覗いてみると template literal 使えばっていう回答がありました。テンプレートリテラルとは初耳なので、勉強がてらそれを使ってみることにします。
- array.length === 0 がマジックナンバーだよって lint に怒られる
Node.js 使い始めて数カ月がたちます。今まではブラウザで動く、生の JavaScript しか書いたことないので、覚えることが多くて困っています。最近はテストの自動化に手を付け始めて、テスト自動化のついでに eslint も導入してみたのですが、エラーが出まくる出まくる・・・。(300行くらいでエラー200件) 基本は簡単につぶせるのですが困ったのが次の2つ。