自作アプリ作成記録12日目

js-primerでtodoアプリに作成するも意外と?HTMLがわかっていなかったことを反省。

export function escapeSpecialChars(str) {
   return str
       .replace(/&/g, "&")
       .replace(/</g, "&lt;")
       .replace(/>/g, "&gt;")
       .replace(/"/g, "&quot;")
       .replace(/'/g, "&#039;");
}

これがよくわからなかった。スルーして読み飛ばしていたけど、やはりこれが何をしているのかわからないとこのまま進めても意味が無いと思い調べ直す。

これは例えばフォーム登録などで悪意ある文字を入力されるとHTML構造がおかしな挙動を起こす形になってしまうことを防ぐ、要はセキュリティー強化の一つとして行っている。

replaceメソッドは第一引数に置き換えしたい文字、第二引数に置き換え後の文字を書く。上のメソッドは"&"という文字を&amp;に置き換えるということ。特殊な記号をエスケープする。

JavaScript理解することが多くて大変・・・

この記事が気に入ったらサポートをしてみませんか?