🔗
URLにおけるクエリパラメータが空の場合の仕様について
クエリパラメータ周りのテストを書いている時、「パラメータのキーは入力されていて値が入力されていない場合の挙動はどうなるんだろう」とふと気になったので、検証してみました。
つまり、
test.com/?parameter=
のようにクエリのキーは入力されているけど値が入力されていないときです。
結論
キーが存在しないわけではなく、値が設定されていないだけなので、クエリパラメータは存在すると見なされます。
また、値は空文字列 ("")として扱われます。
JSの場合、以下のようにして確認出来ます。
const urlParams = new URLSearchParams('parameter=');
console.log(urlParams.get('parameter')); // "" (空文字列)
Discussion