javascript - unexpected - SyntaxError no detectado: token inesperado=en Google Chrome
unexpected token que significa (4)
Está utilizando una función de parámetros predeterminada que solo es compatible con Firefox ahora.
function errorNotification(text) {
text = text || "Something went wrong!";
$.pnotify({
title: ''Error'',
text: text,
type: ''error''
});
}
Tengo una función javascript que acepta un parámetro opcional. Esto funciona bien en Firefox
, pero en Google Chrome
muestra:
Uncaught SyntaxError: Unexpected token =
Mi código,
function errorNotification(text = "Something went wrong!") {
$.pnotify({
title: ''Error'',
text: text,
type: ''error''
});
}
He visto muchas preguntas similares pero no me doy cuenta de mi problema.
Javascript no te permite pasar argumentos predeterminados como ese. Debe asignar el valor predeterminado internamente a la función.
function errorNotification(text) {
text || (text = "Something went wrong!");
$.pnotify({
title: ''Error'',
text: text,
type: ''error''
});
}
Nota: las otras respuestas no funcionarán si tiene un valor booleano que desea que sea predeterminado como true
. Eso es porque anything||true
siempre devolverá true
. En su lugar deberías hacer algo como:
function foo(bar){
if(bar === undefined)
bar = true;
//rest of your function
}
function [a-zA-Z0-9_]*?/s{0,}/([^=$)]*?(=)[^)$]*?/)
puede ser útil encontrar funciones js con valores predeterminados parámetro y luego corregirlos.