Una stringa letterale è una stringa codificata, ma non tutte le stringhe codificate sono stringhe letterali.
var greet = ", ".join("Hello", "Bob")
Il codice precedente ha tre stringhe letterali hard-coded: la virgola, Hello e Bob. La variabile greet è hardcoded per essere "Hello, Bob", ma non è una stringa letterale. Un linguaggio interpretato non avrebbe mai memorizzato quei caratteri come "Ciao, Bob" prima dell'esecuzione. Un linguaggio compilato potrebbe, se fosse abbastanza intelligente.
La connotazione è che hardcoded significa "non cambia con l'input" ed è generalmente un trampolino di lancio per modificare qualcosa come sopra a questo:
var greet = separator.join(greeting, name);
In molti casi, alcune cose potrebbero ancora essere hardcoded, ad esempio:
var greet = ", ".join(greeting, name);
Sebbene la virgola sia hardcoded, normalmente non si chiamerebbe quel fatto a meno che non fosse necessario un separatore diverso.