for (var i = 0; this.palabra.palabraIngles.length; i++) {
Los 'for' necesita una condición en la segunda parte de la estructura. Tu tienes
this.palabra.palabraIngles.length. Como muy probablemente tu arreglo tenga algo
length va a regresar un número mayor a 0. Todo número que no es 0 o
NaN es considerado verdadero. La condición termina la ejecución del ciclo cuando el valor que se regresa es un valor falso. Como tu ciclo no modifica la longitud del arreglo,
length siempre va a regresar un valor verdadero, lo que significa que el for seguira ejecutandose.
Como estás usando el tipico for para recorrer un arreglo lo que probabalmente pensaste hacer es:
for (var i = 0; i < this.palabra.palabraIngles.length; i++) {
Claro que hay alternativas más sencillas como:
for(let letra of this.palabra.palabraIngles){
//letra === this.palabra.palabraIngles[i]
}
o
this.palabra.palabraIngles.forEach(function(letra){
//letra === this.palabra.palabraIngles[i]
});
Edit: Y este no es un error de sintaxis. Los errores de syntaxis tienen que ver con la estructura de los enunciados. En tu caso este simplemente es un error de logica, quizás un error semantico pero muy probablemente un error de escritura.