Expresión de función a la izquierda en JavaScript

Consideremos el siguiente código:

javascript+function func() {
  console.log('!');
}

Como ya sabes, esta función es una expresión funcional, a pesar de tener un nombre asignado (ya hemos establecido que la presencia de un nombre no es un criterio en absoluto). Si quitamos este plus - obtenemos una Function Declaration:

javascriptfunction func() {
  console.log('!');
}

Pongamos un + en la línea antes de la función - se convertirá nuevamente en una Function Expression:

javascript+
function func() {
  console.log('!');
}

Y ahora después del plus, pongamos el número 1 y un punto y coma - nuestra función se convertirá en una Function Declaration:

javascript+1;
function func() {
  console.log('!');
}

Por qué es así: porque en la primera línea hay un comando completo terminado, cerrado con un punto y coma. Por lo tanto, este comando no afecta de ninguna manera a nuestra función.

En realidad, el punto y coma se puede omitir, ya que en JavaScript no es obligatorio - la función seguirá siendo una Function Declaration:

javascript+1
function func() {
  console.log('!');
}

Pero si después de 1 agregamos otro plus, la función se convertirá en una Function Expression:

javascript+1+
function func() {
  console.log('!');
}

Por qué es así: porque en la primera línea hay una expresión no terminada - hay un plus y después nada. Por lo tanto, el intérprete de JavaScript considera que este plus pertenece a la línea de abajo, es decir, a nuestra función.

Si en la primera línea hay una expresión terminada, entonces JavaScript automáticamente le coloca un punto y coma y esta expresión no afecta de ninguna manera a nuestra función.

Задание 1

Determina si la función presentada es una Function Declaration o una Function Expression:

javascript-
function func() {
  console.log('!');
}
Задание 2

Determina si la función presentada es una Function Declaration o una Function Expression:

javascript-1;
function func() {
  console.log('!');
}
Задание 3

Determina si la función presentada es una Function Declaration o una Function Expression:

javascript-1
function func() {
  console.log('!');
}
Задание 4

Determina si la función presentada es una Function Declaration o una Function Expression:

javascript1
function func() {
  console.log('!');
}
Задание 5

Determina si la función presentada es una Function Declaration o una Function Expression:

javascript-1-
function func() {
  console.log('!');
}