One way of viewing them is as one-forms. See Help understanding expression for Derivative of a function for the multivariable situation. The idea is that (in single variable) given a differentiable function $f:\Bbb{R}\to\Bbb{R}$, and a point $a\in\Bbb{R}$, the quantity $f'(a)\in\Bbb{R}$ is what we geometrically think of as the slope at the point $(a,f(a))$ of the graph of $f$ (in fact logically speaking, this ought to be a definition for the term "slope at a point").
Now, what I'm suggesting to you is rather than thinking of the single number $f'(a)$, we consider the linear transformation $L_{f,a}:\Bbb{R}\to\Bbb{R}$ defined as
\begin{align}
L_{f,a}(h):=f'(a)\cdot h
\end{align}
What is the significance of this linear transformation? By rewriting the definition of the derivative $f'(a)=\lim\limits_{h\to 0}\frac{f(a+h)-f(a)}{h}$, we get
\begin{align}
f(a+h)-f(a)&=L_{f,a}(h)+R_a(h)
\end{align}
where $R_a(h)$ is the "remainder" term which is "small" in the sense that $\lim\limits_{h\to 0}\frac{R_a(h)}{h}=0$. Now, traditional notation demands that the LHS be denoted as $\Delta f_a(h)$ and $L_{f,a}$ be denoted as $Df_a(h)$ or $df_a(h)$. Therefore, we get the very memorable equation
\begin{align}
\Delta f_a(h)&=df_a(h)+R_a(h)
\end{align}
"actual change in function at a point equals a linear term plus a small error term". Note that this is nothing but a simple algebraic rewriting of the definition of a derivative, but it is very powerful because the same idea can be used in higher dimensions: we're shifting our primary perspective from slopes to linear approximation simply because linear algebra is a very well-studied and powerful tool for systematically organizing all this information (in one dimension, linear algebra is almost trivial which is why we don't emphasize this perspective).
So, now for a differentiable function $f:\Bbb{R}\to\Bbb{R}$, rather than considering the derivative $f':\Bbb{R}\to\Bbb{R}$, we instead consider the object $df$, which for every point $a\in\Bbb{R}$ gives a linear transformation $df_a:\Bbb{R}\to\Bbb{R}$, where the interpretation is that for a "displacement vector from the point $a$" $h\in\Bbb{R}$, $df_a(h)$ is the linear approximation of the actual error $\Delta f_a(h)$.
That's all there is to the definition of $df$; it's just a simple re-interpretation of the function $f'$. Next, what does $dx$ mean? Well, now we understand that $d$ acts on differentiable functions, so what function is $x$? Well, it is tradition to use $x:\Bbb{R}\to\Bbb{R}$ to mean the identity function, i.e for any point $a\in\Bbb{R}$, we set $x(a):=\text{id}_{\Bbb{R}}(a):=a$. Now, it is easily verified that $dx_a=\text{id}_{\Bbb{R}}$ (all this is saying is that $x'(a)=1$ for all $a$). Therefore,
\begin{align}
df_a(h)&=f'(a)\cdot h=f'(a)\cdot dx_a(h)= (f'dx)_a(h)
\end{align}
This is why if we don't write the displacement $h$ anywhere, nor the point of evaluation of derivative $a$, we end up with $df=f'\,dx$, where now both sides have a proper definition.
Note:
Throughout this answer, since we're only dealing with functions defined on vector spaces such as $\Bbb{R}$ (or in my other linked answer, $\Bbb{R}^n$), I have avoided a careful distinction between the vector space and its tangent space at a point. But hopefully, with this introduction, future encounters with $df_a$ being defined at the tangent space at $a$ wouldn't seem so random.