Is the underscore prefix for property and method names merely a convention?

That’s only a convention. The Javascript language does not give any special meaning to identifiers starting with underscore characters.

That said, it’s quite a useful convention for a language that doesn’t support encapsulation out of the box. Although there is no way to prevent someone from abusing your classes’ implementations, at least it does clarify your intent, and documents such behavior as being wrong in the first place.

Leave a Comment