Метод `reverse` не работает для строки в прототипе, потому что строка является неизменяемым типом данных в JavaScript. Когда мы вызываем метод `reverse` для строки, JavaScript пытается изменить его элементы, но это вызывает ошибку, так как строки в JavaScript являются неизменяемыми.
В примере кода, вызов метода `reverse` для строки `str` не будет работать, так как строка не имеет метода `reverse` в своем прототипе. Для изменения порядка символов в строке нужно сначала преобразовать строку в массив, изменить порядок элементов в массиве при помощи метода `reverse`, а затем преобразовать массив обратно в строку.
Пример исправленного кода:
```javascript
let str = 'hello';
let reversedStr = str.split('').reverse().join('');
console.log(reversedStr); // Выводит "olleh"
```