javaScriptにおけるfromCharCode()とcharCodeAt()の使い方

JavaScriptで文字列を扱う時にfromCharCode()charCodeAt()が便利だったので、まとめておきます。

fromCharCode()とcharCodeAt()の使い方

fromCharCode()は、ASCiiコードの番号を指定することで文字列を表示できるString.prototypeの関数で、charCodeAt()は文字のASCiiコードの番号を表示できる関数となる。

以下は、具体例を挙げてみる。

fromCharCode()の具体例

var char = String.fromCharCode( 48 );
console.log(char);  // "0"と表示
var str = String.fromCharCode(97, 98, 99);
console.log(str);  // "abc"と表示

上記の様にUnicode値にあった文字を返してくれるのが、fromCharCode()関数だ。引数を複数指定することで文字列を生成することができる。

fromCharCode()では、16bit、つまり2byteまでの文字に対応しており、絵文字などを表示させることはできない。もし、絵文字などもUnicode値で表示したい場合はfromCodePoint()関数を使えば良い。

ただ、fromCharCodeの使い道は「文字列の0 ~ 9を順番に表示させたい」とか「アルファベットを順番に表示させたい」と言う使い方が多いと思うので、fromCharCode()で十分だと思う。

参考記事:String.fromCharCode() | MDN

参考記事:String.fromCodePoint() | MDN

参考記事:ASCIIコード表

charCodeAtの具体的な使い方

charCodeAt()の具体的な使い方は以下の通りだ。

var code = 'a'.charCodeAt();
console.log(code);  // 97
var code2 = 'abc'.charCodeAt(2);
console.log(code2); // 99

上記の様にcharCodeAt()は指定した文字列の中の1文字を選び、その1文字のUnicode値を返してくれる関数だ。
引数を指定していなければ、引数には0が入る。

似たような関数にcharAt()があるが、これは文字列の内1文字を抜き出して表示する関数なので、役割が違う。

参考:String.prototype.charCodeAt() | MDN

参考:String.prototype.charAt() | MDN

fromCharCodeとcharCodeAtはいつ役に立つのか?

この両者の関数は、主に「アルファベットのa~zを順番に表示させたい」などの時に役立つだろう。

例えば、以下のコードがある。

for(let start = 'a'.charCodeAt(),  end = 'z'.charCodeAt(); start <= end; start++) {
let char = String.fromCharCode(start);
console.log(char);
}

上記のコードを実行すると、以下の結果となる。

"a"
"b"
"c"
.
.
"y"
"z"

ちなみに、C言語のように以下の様にできないのかと試したが、結果はaしか表示されなかった。

for(let start = 'a',  end = 'z'; start <= end; start++) {
console.log(start);
}
// 'a'しか表示されない

ReratedPosts

JavaScriptの配列で参照渡しではなく値渡しをする方法と注意点
JavaScriptでファイルダウンロードを実現するための5ステップ
JavaScriptにおいてif文を一行で記述する方法
JavaScriptのmap関数の使い方
Nuxt.jsでnpm run devをした時に「SyntaxError: Invalid regular expression flags」というエラーが出た時の対処法
JavaScriptのクロージャについて理解したのでまとめ