Es un problema con ASI o solo la gramática de retorno?

La gente suele hablar sobre el desagradable ASI (inserción automática de punto y coma) de JavaScript, y a menudo citaeste ejemplo ...

function a() {
    return [
        'a',
        'b',
        'c'
    ];
}

function b() {
    return
    [
        'a',
        'b',
        'c'
    ];
}

console.log(a(), b());
// ["a", "b", "c"] undefined

¿Hay realmente un punto y coma insertado después dereturn inb(), o la gramática de JavaScript indica que el valor de retorno debe indicarse explícitamente después (es decir, no\n)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta