全米に1000人以上いる「Infinity」さん、名前がjQueryで適切に処理されない恐れ 26
ストーリー by hylom
分かるけど予想外 部門より
分かるけど予想外 部門より
「infinity」は「無限大」という意味の英単語だが、女性の名前としても使われているという。全米には1000人以上のInfinityさんがいるそうなのだが、この名前はJavaScriptライブラリjQueryで適切に扱えない可能性があるそうだ(Reddit)。
「Infinity」という文字列が含まれた要素に対し、jQueryの.data()メソッドを使ってその値を取得しようとすると、このメソッドは「Infinity」という文字列を数字の+∞として解釈してそれを返してしまうという。
JavaScriptでは数値を0で割ったときなどに無限大を意味する「Infinity」という値を返すようになっている。.data()メソッドは指定された要素の値を可能な限り適切なJavaScriptオブジェクトとして変換しようとし、変換できなかった場合のみその値を文字列として返すという。「Infinity」という文字列は数字として解釈できるため、その結果数値としての「Infinity」を返してしまうそうだ。対応策としては.attr()メソッドを利用すれば良いという。
日産 (スコア:2)
Re:日産 (スコア:1)
嘘八百 (スコア:2)
この顛末を描いた映画が、現在公開中の「Avengers: Infinity War」です
Infinityだなんて贅沢な名だね (スコア:1)
Re:Infinityだなんて贅沢な名だね (スコア:2, おもしろおかしい)
NaN」だよ
Re: (スコア:0)
それはナンですか?
Re: (スコア:0)
「未知」さんなら同僚にいました
Infinityさんは米国流キラキラネームかも
文字データのシンボル化 (スコア:1)
特定の処理を経由しないで暗黙の変換されるのはいろいろやばいな、やっぱ
# Rubyでシンボル変換があったのは覚えてるけど、他の言語はどうだっけ...
M-FalconSky (暑いか寒い)
Re: (スコア:0)
なるべくしようとする、みたいな不安定なのは実務じゃ使えませんわな
Re: (スコア:0)
JavaScriptを根底から否定するのはやめてもらえませんかね。
Re: (スコア:0)
つ Typescript
それでもまだ怪しいけど
Re: (スコア:0)
"One" だと数字の1になっちゃうのかな
スピーシーズドメイン (スコア:0)
土和アンリ(アンリミテッド)の妹さんが土和インフィニティだったけ。
ちなみに父親がアルティメット、母親が極美。
Re:スピーシーズドメイン (スコア:1)
アンリミテッドさん、は実在するだろうか?
アンリは男性名で普通にあるだろうが...
# あの名前いいよねw
M-FalconSky (暑いか寒い)
Re: (スコア:0)
アンリはヘンリーかな
Infinity さんがいるなら (スコア:0)
NaN さんもいるのだろうか
Re: (スコア:0)
桂 南なん 「呼んだ?」
Re: (スコア:0)
nullさんとかundefinedさんとかもどっかで話題になってたような?
あと、割と多いのがsudoさん(須藤さん)。
Re:Infinity さんがいるなら (スコア:1)
Null [gizmodo.jp]さんの話かな
# goto禁止にしてるコーディング規則のチェッカーで後藤さんのコメントが引っかかった話は同僚から聞いたことが
Robert'); DROP TABLE Students;-- さん (スコア:1)
https://xkcd.com/327/ [xkcd.com]
これでしょ
attrならいいのか? (スコア:0)
しばらくjQueryつかってないからもう忘れたけど、dataはプロパティが不可視で、attrは見えるんじゃなかったっけ?
使うのやめるのが一番な気がする。
なんで名前?なんでアメリカ? (スコア:0)
こんなの名前だけに限らないしアメリカだけでもないじゃん。
Re: (スコア:0)
のんでアメリカの名前が引っかかったという具体的事例を出すのにあんたに断らないといけないの?
解決方法 (スコア:0)
ちょっと前はnullで死んでたね。
どのライブラリだとこの文字列がダメってのはよくあるし、今は使えててもバージョンアップでそんな不具合が紛れ込むかもしれない。生な文字列を扱う限り可能性が消えない。
ってことで、文字列は英数字だろうと二バイト文字だろうと、%16進数表記で保持してるw
ところで (スコア:0)
数値を0で割ると無限大なのか?
《走馬燈を開始します!(指定位置まで人生を巻き戻します)》 (スコア:0)
銀髪ボクっ子のインフィニティーさんに“涅槃の眼”を与えられると、過去を改変できるようになるのですね
# 蒼色輪廻ネタ