さまざまな遷移を持つある種のステート マシンをコーディングしたいと考えています。しかし、アイテムを選択しようとすると、奇妙なことが起こります。
var transitions = {
"on": {
"false":"true",
"true":"false"
}
}
最後の 2 行は非常に興味深いものです。最初と 2 番目は同じインデックスでhardcoded
、変数に格納されています。前者が正しい結果 (false) を返し、後者が未定義であるのはなぜですか?
console.log(attr); // on
console.log(transitions[attr]); // Object { false="true, true="false" }
console.log(current_val); // "true"
console.log(typeof current_val); // string
console.log(transitions[attr]["true"]); // false
console.log(transitions[attr][current_val]); // undefined
情報: FF 14.0.1 を使用しています