- var res = (‘0123-4567-8901’).replace(/[0-9]/g, function(s) {
- return s.charCodeAt(0) – ‘0’.charCodeAt(0);
- });
- document.write(‘<pre>’ + res + ‘</pre><br>’);
【結果】
0123-4567-8901
これはどういうことかというと…
0123-4567-8901 の0~9で一致するものを取り出し、
function関数のパラメーターに返り値()を戻す➡ return s.charCodeAt(0) – ‘0’.charCodeAt(0);
ここでおさらい…ここをクリック
パラメーター(仮引数)…仮引数とは、関数指定時に使用される引数のこと(先生のツイートでいう、function f(a) の aのこと!!)
実引数(引数)…関数に渡す「変数」「値」のこと(先生のツイートでいう、f(a)のこと)
【JavaScript】
aの呼び名
function f(a)←パラメーター(仮パラメーター)f(a)←引数(実パラメーター)
— 与えるだけの師匠 (@terrace_tech) March 20, 2020
.charCodeAt()は 取得した値から、全角 → 半角の場合は引き、半角 → 全角の場合は足す。
つまり、
return s.charCodeAt(0) – ‘0’.charCodeAt(0); となっているので、
全角から半角への変換ができる。
フラグにgが記述されていることから、全部を置換するので([0-9]となっているので数字のみ‐は変換しない。)0123-4567-890と半角で表示される。
コメント