JavaScript: conversione di un oggetto in una query string

jQuery è in grado di trasformare oggetti JavaScript in query string HTTP da usare con AJAX. Ma come avviene questo processo? Vediamolo insieme.

Un oggetto letterale è composto da coppie di proprietà e valori. Quindi è sufficiente eseguire un ciclo for...in su tali oggetti ed assemblare la stringa corrispondente:


'use strict';

const toQueryString = obj => {
        if(typeof obj !== 'object' || obj === null) {
            return '';
        }
		const arr = [];
		for (let prop in obj) {
			let query = prop + '=' + obj[prop];
			arr.push(query);
		}
		return arr.join('&');
};

Quindi il seguente oggetto:


const query = {
	a: 1,
	b: 'Test'
};

diventerà:


const queryString = toQueryString(query);
console.log(queryString); // a=1&b=Test

Torna su