I am trying to prove $E$ is closed iff $E=(E^\perp)^\perp.$
Forward direction: Assume $E$ is closed, i.e. by definition, there exists a sequence $\{x_n\} \in E$ such that it converges to a point let $x \in X,$ which is also in $E.$
Now, from the definition of an orthogonal component, it is clear that $E\subset (E^\perp)^\perp.$
To prove $ (E^\perp)^\perp \subset E, $ I am assuming first $x \notin E, but \in (E^\perp)^\perp.$ i.e., $$\langle x,y\rangle =0 , \quad \forall y \in E^\perp$$
Thus, the vector $x$ has a non-zero projection onto $E^\perp,$ i.e. there exists one such $ y \in E^\perp$ s.t. $\langle x,y \rangle \ne 0.$ Which is a contradiction to our assumption $x \in (E^\perp)^\perp.$
Hence $x$ must be in $E.$ Thus, $ (E^\perp)^\perp \subset E. $
Finally, $(E^\perp)^\perp = E.$
Backward Direction: From the definition of orthogonal component $(E^\perp)^\perp.$ Thus, $(E^\perp)^\perp = E,$ implies $E$ closed.
I don't know whether the forward direction is rigorous enough. (If $X$ was Hilbert, then the Hilbert projection theorem straightforward gives us the proof.)