How is NH4Cl a salt? So what I know is, a salt is an ionic compound between a metal and a non-metal which exchange electrons. Like in $\ce{NaCl}$, $\ce{Na}$ is the metal and $\ce{Cl}$ is the non-metal, $\ce{Cl}$ hogs up the valence electron of $\ce{Na}$ and so the atom becomes charged.

But in the salt $\ce{NH4Cl}$, neither nitrogen, hydrogen nor chlorine are metals. All of them are non-metals. How can it be a salt?
This is not the correct definition of salt. The IUPAC definition of salt is "a chemical compound consisting of an assembly of cations and anions". In fact there are many salts which do not fit the definition you give.