Reason 1:
More standardized and easier to analyze
Reason 2:
Avoid incompatibility issues caused by keywords such as class
Reason 3:
Probably the most obscure one:
var a = 00; var b = {00: 12}; a in b; --> true var a = 0; var b = {'00': 12}; a in b; --> false
Personally guess that if the attribute name of the js object is non-string type, type conversion will be performed first, but unexpected values may appear in this process. Although this is only an isolated case, it is still very useful to develop a good habit. Necessary