What is the difference between ' and " in JavaScript?
Solution 1:
They are equivalent for all intents and purposes. If you want to use either one inside a string, it is a good idea to use the other one to create the string, as you noted. Other than that, it's all the same.
Solution 2:
Although not technically a difference in Javascript, its worth noting that single quoted strings are not valid JSON, per se. I think that people automatically assume that since JSON is valid JS, that valid JS strings are also valid JSON, which isn't necessarily true.
E.g., {'key': 'Some "value"'}
is not valid JSON, whereas {"key": "Some 'value'"}
is.
Solution 3:
There's no difference. The reason for its existence is exactly what you mentioned
Solution 4:
Good practice, according to Mozilla, is to use " " in HTML (where ' ' cannot be used) while reserving ' ' in Javascript (where both " " and ' ' can be use indifferently)...
Solution 5:
I think there is another difference. If you do the following
var str1 = 'The \' character';
var str2 = 'The " character';
var str3 = "The ' character";
var str4 = "The \" character";
document.write(str1.replace("'", "%26"));
document.write(str2.replace('"', "%22"));
document.write(str3.replace("'", "%26"));
document.write(str4.replace('"', "%22"));
The document.write will fail for str1 and str4. That is the difference, but I don't know if there is a workaround to make them work.