var str = "Hello world"; str.charAt(2)="P"//instead of li am assigning the value P console.log(str)Debe crear una matriz a partir de la cadena para reemplazarla por índice. Lo siguiente debería hacer el truco.
const changeChar = (str, newValue, index) => { let splitted = str.split(""); splitted[index] = newValue; return splitted.join(""); }En JavaScript, las cadenas son inmutables, hay 2 formas de hacerlo que mencioné a continuación
1 forma puede ser dividir la cadena usando dos subcadenas y rellenar el carácter entre ellas
var s = "Hello world"; var index = 2; s = s.substring(0, index) + 'p' + s.substring(index + 1); console.log(s)2 formas pueden ser convertir la cadena en una matriz de caracteres, reemplazar un miembro de la matriz y unirlo
var str="Hello World" str = str.split(''); str[2] = 'p'; str = str.join(''); console.log(str)