[1] IRC logs: freenode / #whatwg / 20140523 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140523
[2]
toggle
の第2引数は boolean
型なのですが、
false
のつもりで undefined
を渡すと引数なし → 真、
と解釈されてしまう罠があります。
例えば、
var opts = {}; if (...) { opts.enabled = true; } element.classList.toggle ('somewhat', opts.enabled);
... は条件に合わせて class="somewhat"
を指定するかどうかを変えているつもりが、常に真になってしまいます。
var opts = {enabled: false}; if (...) { opts.enabled = true; } element.classList.toggle ('somewhat', opts.enabled);
... や、
var opts = {}; if (...) { opts.enabled = true; } element.classList.toggle ('somewhat', !!opts.enabled);
... のように常に値が渡るようにする必要があります。
[3] これ案外はまりがちなので注意。
[4]
add, append, remove, delete みたいなの覚えるの難しいから toggle
は1つ覚えておけばどっちだったか気にしなくていいというのが便利。