JavaScript~setTimeout()の書き方について~

ストップウォッチのコード書いていて疑問に思ったことがあった。

setTimeout(() =>{
  //処理内容
}, //待ち時間)

setTimeout(ファンクション処理、待ち時間)

これ何が違うの?
MDZにすべて書いてありました。

MDZで推奨されているのは、
setTimeout(() =>{
  //処理内容
}, //待ち時間)
の書き方です。

setTimeout(ファンクション処理、待ち時間)の書き方は推奨されていません。

その理由としては、
文字列から JavaScript を実行することは、非常に大きなセキュリティリスクを伴います。
どういうことか、setTimeout(ファンクション処理、待ち時間)のファンクション処理に書く関数は、文字列で書くことになります。

つまり、setTimeout(getTime, 1000)
という書き方になります。関数をもちいるときは、getTime()のようになりますが、上記の書き方だと文字列ですよね。

これが、推量されない理由です。

以上です。

もりけん塾
もりけん先生ブログ

コメント

タイトルとURLをコピーしました