🔗

メモ:URLにおけるクエリパラメータが空の場合の仕様

2024/07/22に公開

クエリパラメータ周りのテストを書いている時、「パラメータのキーは入力されていて値が入力されていない場合の挙動はどうなるんだろう」とふと気になったので、検証。

つまり、

test.com/?parameter=

のようにクエリのキーは入力されているけど値が入力されていないとき。

結論

キーが存在しないわけではなく、値が設定されていないだけなので、クエリパラメータは存在すると見なされる。
また、値は空文字列 ("")として扱われる。

const urlParams = new URLSearchParams('parameter=');
console.log(urlParams.get('parameter'));  // "" (空文字列)

まあそりゃそうか

Discussion