undefined

GASのWEBアプリでFormのsubmitで返ってきたundefindに泣かされた。 複数のsubmitボタンがあって、あるボタンが押されてないこと調べるのにundefinedを使うことにした。 undefindが返ってくることはLOGとかでも確認して

    if(hogehogeButton == 'undefined') {
      // hogehogeButton は押されていない
    }
    else {
      // hogehogeButton が押された
    }

みたいなコードを書いたんだけど、思うように動かない。 スペルが間違っているわけでもなさそう。 半日悩んで、もしかしてundefinedて文字列じゃないかもと思い至った。 シングルクオートを外してみるとすんなり動きましたよ。

    if(hogehogeButton == undefined) {
      // hogehogeButton は押されていない
    }
    else {
      // hogehogeButton が押された
    }

戻ってきた値を変数に入れてログに吐くと普通に『undefined』ってでてくるし、文字列とばかり思っていた。 最近の言語は型に寛容だからこんなことが起きるんじゃないかい? てか、ボクがバカなだけだって?
--

No comments: