// ランダムなアルファベットの文字列を表示するプログラム //「徹底マスターJavaScriptの教科書 P204」からの引用です。 let randomChars =""; for(let i=0; i<8; i++) { randomChars += String.fromCharCode(Math.floor(Math.random()*26) + "a".charCodeAt(0)); } console.log(randomChars);
console.log("a".charCodeAt(0)); 「97 文字列"a"の0番目のUTF-16符号の10進表記 つまり"a"の文字コード。」
console.log((Math.floor(Math.random()*26))); 「0~25の数値をランダムに生成している」
どうして、0~25までのランダムな数値に文字列"a"の文字コードを加算した値を引数として、
fromCharCode()に渡すとランダムなアルファベットが生成されるのでしょうか?
UTF-16における符号化文字集合と文字符号化方式」の仕組みがよく分かりません。
なんとなくですが、アルファベットの最初の文字であるaの文字コードを取得して0から25までのいずれかの数値を加算しておけば、
26文字あるアルファベットのどれかの文字コードに該当すると、イメージしています。
よろしくお願い致します。
学習したサイト
https://www.javadrive.jp/javascript/string/index13.html
https://wa3.i-3-i.info/word15294.html
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/14 08:08
2021/09/15 12:53