【JavaScript】intermediate value is not a functionというエラーメッセージが表示される!セミコロンは省略しないほうがよい

この記事は約2分で読めます。

intermediate value … is not a functionというエラーメッセージが表示されてしまう場合、どのような原因が考えられるでしょうか。

原因はJavaScriptが匿名関数の引数と見なした場合のエラーになります。

スポンサーリンク

【JavaScript】intermediate value is not a functionというエラーメッセージが表示される!セミコロンは省略しないほうがよい

多くの場合、下記のようにセミコロンの打ち間違い(切れ目の曖昧さ)によるプログラミング上のミスが考えられます。

let test = function(){ /* 何かしらのソースコード*/ }  //末尾にセミコロンを省略している
let test = function(){ /* 何かしらのソースコード*/ };  //正しいソースコード

(function(){ /* 何かしらのソースコード*/ })(); //未定義値は関数ではないので実行できない

セミコロンは省略しないほうがよい

JavaScriptはセミコロンを省略して記述することも可能ですが、結果的に上記のようなエラーが発生してしまうことも考えられるので、セミコロンは省略しないほうがよいでしょう。

console.log('JavaScriptでセミコロンは省略しないほうがよいでしょう') //あまり良くない
console.log('JavaScriptでセミコロンは省略しないほうがよいでしょう'); //良い

1つの文が長いときは改行する

セミコロンは省略しない場合でも、1つの文がどうしても長くなるケースがあるでしょう。

そんなときは改行しましょう。しかし、改行しても下記のようにエラーが起こる場合はあります。注意しましょう。

/* 誤っているソースコード */

function square(height, width){
	return
	height * width;
}

console.log(square(4,4)); //未定義値をreturnしてしまうのでエラー


/* 正しいソースコード */
function square(height, width){
	return height * width; //改行を正しく配置
}
タイトルとURLをコピーしました