shiny::selectInput(..., choices = "")

I have a shiny app and am letting the server function populate the choices for one of my select inputs dynamically.

I noticed that having "" present in the 'choices' arg influences the 'nonempty' argument to shiny:::selectizeIt.

On the other hand, choices can also be NULL, list(), or character(). The end result in those cases is we get a data-nonempty="" tag in the output of shiny::selectInput whereas in the case of "" there is no such tag.

I am wondering what is special about "", and what difference this could make on the server side, particularly during input initialization. Basically I'm wondering what is the "best practice" for this kind of dynamically initialized input.