Does theme customizer need theme-customizer.js?

It’s not a necessary step but it is ideal. Adding the javascript is necessary to enable live-reloading within the Theme Customizer.

What this does is, when you alter a control, albeit a textbox, colorwheel, image upload, whatever. After the adjustment is made, if you have enabled live-reload, then a moment later the preview will refresh and display the change.

If you do not have the javascript built out and live reload setup then the adjustments will not be displayed until the user saves their changes and refreshes the page.