Niezmienność ciągów znaków w JavaScript

Znaki w ciągu można odczytywać, ale nie można ich zmieniać. Poniższy przykład kodu zwróci błąd (w trybie ścisłym):

javascriptlet str = 'abcde';
str[0] = '!';