Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

595
Visualizações
TypeError: console.log (...) no es una función

Estoy realmente confundido sobre cómo puedo obtener console.log no es una función en la línea 1091. Si elimino el cierre a continuación, la línea 1091 no se queja de dicho error. Versión de Chrome 43.0.2357.130 (64 bits).

ingrese la descripción de la imagen aquí

Aquí está el código:

 $scope.columnNameChanged = function (tableColumn) { setDirtyColumn(tableColumn); //propagate changes to the key fields for (var i = 0; i < $scope.tableIndexes.length; ++i) { for (var j = 0; j < $scope.tableIndexes[i].columnName.length; ++j) { if ($scope.tableIndexes[i].columnName[j] === tableColumn.previousName) { console.log('xxx', $scope.tableIndexes[i].columnName[j]) (function (i, j) { $timeout(function () { console.log($scope.tableIndexes[i].columnName[j]) $scope.tableIndexes[i].columnName[j] = tableColumn.name.toUpperCase(); console.log($scope.tableIndexes[i].columnName[j]) }); })(i, j); } } } };
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Solución

Simplemente coloque un punto y coma ( ; ) después de console.log( … ) .


Explicación

El error es fácilmente reproducible así:

 console.log() (function(){})

Está tratando de pasar function(){} como un argumento para el valor de retorno de console.log() que en sí mismo no es una función pero en realidad no está undefined (verifique typeof console.log(); ). Esto se debe a que JavaScript lo interpreta como console.log()(function(){}) . sin embargo, console.log es una función.

Si no tuviera el objeto de la console , vería

ReferenceError: la consola no está definida

Si tuviera el objeto de la console pero no el método log , vería

TypeError: console.log no es una función

Sin embargo, lo que tienes es

TypeError: console.log (...) no es una función

Tenga en cuenta el (...) después del nombre de la función. Con esos se refiere al valor de retorno de la función.

El salto de línea no separa estas dos expresiones como declaraciones separadas debido a las reglas de JavaScript para la inserción automática de punto y coma (ASI) .


Respetar el ;

Todos estos fragmentos de código dan como resultado todo tipo de errores inesperados si no hay punto y coma:

 console.log() // As covered before () // TypeError: console.log(...) is not a function
 console.log() // Accessing property 0 of property 1 of the return value… [1][0] // TypeError: console.log(...) is undefined
 console.log() // Like undefined-3 -3 // NaN
 let a, b; const array = Array.from({ length: 2 }) // Now, let's use destructuring: [a, b] = array; // ReferenceError: can't access lexical declaration 'array' before initialization
 let a, b; const array = Array.from({ length: 2 }).fill(1), array2 = Array.from({ length: 2 }) // Now, let's use destructuring. Attempt to get the two 1's from `array` as `a` and `b`: [a, b] = array; console.log(a, b); // undefined undefined

Otro ejemplo

Ves (...) a menudo con el uso de métodos encadenados o accesos de propiedad encadenados:

 string.match(/someRegEx/)[0]

Si no se encuentra ese RegEx, el método devolverá null y el descriptor de acceso de la propiedad en null provocará un TypeError: string.match(...) is null — the return value is null . En el caso de console.log(...) el valor devuelto no estaba undefined .

over 4 years ago · Santiago Trujillo Relatório

0

El error significa que el valor de retorno de console.log() no es una función. Te falta un punto y coma:

 console.log('xxx', $scope.tableIndexes[i].columnName[j]); // ^

lo que hace que el siguiente (...) del IIFE se interprete como una llamada de función.


Compare los mensajes de error de

 > var foo = {bar: undefined}; > foo.bar(); Uncaught TypeError: foo.bar is not a function

y

 > var foo = {bar: function(){}}; > foo.bar()(); Uncaught TypeError: foo.bar(...) is not a function
over 4 years ago · Santiago Trujillo Relatório

0

Actualización 2020

Una posible causa puede ser la declaración de la var console en algún lugar de su secuencia de comandos.

Usar:

 window.console.log(...);

en cambio. Trabajó para mi.

Espero que ayude

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda