2015-08-06 4 views
0

Что означает ошибка «TypeError: string is not a function»? Какие условия вызывают ошибку?Значение «ТипError: string is not a function»

Небольшой контекст, показывающий, где появляется ошибка.

Следующая программа

"use strict;" 
((console["log"])(42)); 

дает ошибку

/private/var/folders/k6/grq8nv093hj78x5m172d725m0000gn/T/tmp14388866091438886609658.js:2 
((console["log"])(42)); 
^ 
TypeError: string is not a function 
    at Object.<anonymous> (/private/var/folders/k6/grq8nv093hj78x5m172d725m0000gn/T/tmp14388866091438886609658.js:2:1) 

    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Function.Module.runMain (module.js:501:10) 
    at startup (node.js:129:16) 
    at node.js:814:3 

в узле. Но console["log"] aka console.log должна быть функцией.

Однако эта программа

"use strict;" 
function displayln(v){return ((console["log"])(v));}; 
(displayln(42)); 

работает без каких-либо ошибок.

ответ

3

Я думаю, что вы думаете, что пытаетесь выполнить "use strict;" как функцию. Попробуйте добавить полуколону после нее

"use strict"; 
((console["log"])(42)); 
+0

Конечно! Благодарю. – soegaard

Смежные вопросы