2017 年 3 月の更新:
URL.searchParams のサポートは Chrome 51 で正式に導入されましたが、他のブラウザーでは引き続きpolyfillが必要です。
クエリ パラメータを操作する公式の方法は、単に URL に追加することです。仕様から、これは例です:
var url = new URL("https://geo.example.org/api"),
params = {lat:35.696233, long:139.570431}
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]))
fetch(url).then(/* … */)
searchParams
ただし、 (執筆時点で) Chrome が URL のプロパティをサポートしているかどうかはわからないため、サードパーティのライブラリを使用するか、独自のソリューションを使用することをお勧めします。
2018 年 4 月の更新:
URLSearchParams コンストラクターを使用するとurl.search
、すべてのキーをループして追加する代わりに、2D 配列またはオブジェクトを割り当てて、それをに割り当てることができます。
var url = new URL('https://sl.se')
var params = {lat:35.696233, long:139.570431} // or:
var params = [['lat', '35.696233'], ['long', '139.570431']]
url.search = new URLSearchParams(params).toString();
fetch(url)
補足: URLSearchParams
NodeJS でも利用できます
const { URL, URLSearchParams } = require('url');