いつもお世話になっております。
javascript初学者です。
今回はlengthプロパティの動きについて分からない部分があったのでこの場を借りて質問しました。
下記にjavascriptで書いた①と②のプログラムがあります。
このプログラムはテストURLの数字箇所のみを取得し、/12345/
と/6789/
を足した結果を出力させたプログラムです。
テストURL https://www.expires.com/item/view/12345/6789/
該当のソースコード
javascript
1//①のソースコード 2var path = location.pathname.replace("/item/view/", "").split("/"); 3var item_id = ""; 4if(path.length >= 2) { 5 item_id = path[0] + path[1]; 6} 7console.log(item_id); 8// 処理結果 9// 123456789
javascript
1//②のソースコード 2var path = location.pathname.replace("/item/view/", "").split("/"); 3path = path.length; 4var item_id = ""; 5if(path >= 2) { 6 item_id = path[0] + path[1]; 7} 8console.log(item_id); 9// 処理結果 10// NaN
わからないこと
自分の認識では①と②は同じ処理結果で出力されると思いました。しかし、②のプログラムの出力結果がNaN
を返してしまうのは何故でしょうか?
NaN
は数値で取得したものに文字列が混ざってしまうと出てしまうメッセージだと理解してますが、今回の結果からlengthプロパティ
の動きがイマイチ理解できていないです。。。
①のソースコードのように条件分岐
の中でlengthプロパティ
を使用すれば数値として処理され、それ以外で使用したら文字列として処理されてしまう認識で合ってますか?
質問内容が分かりづらくて申し訳ないですがご教示頂けたら幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。