I det här fallet – nej, ingen sadism. Det finns en förklaring. JavaScript har haft "
- och '
-strängar sedan urminnes tider, men inte stränginterpolation. Back in the day så var du tvungen att plussa ihop strängar: "templates/" + file
.
2015 släpptes en rad moderniseringar till JavaScript (ES2015). Däribland stränginterpolation. Men eftersom det redan finns massor av webbsidor med strängar som "a ${b} c"
där man faktiskt menar texten ”${b}” så kunde man inte bara ändra på vanliga strängsyntaxen till att nu tillåta interpolation. Så istället skapade man ny syntax: `
-strängar (heter egentligen templates). (Då kunde man dessutom passa på att göra det lättare att göra strängar med radbrytningar i.)
Principen är ”don’t break the web”.
Du kan följa utvecklingen av JavaScript här: https://github.com/tc39/. Både på GitHub och på konferens-talks (YouTube) så verkar de mycket omtänksamma och har en mycket svår uppgift. Så att kalla dem sadister känns inte förtjänat!
Sen kan jag hålla med om att många val i många språk känns helt oigenomtänkta ibland.