[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つ覚えておけばどっちだったか気にしなくていいというのが便利。