0
0

プリミティブ型のimmutableとは

Posted at

はじめに

JavaScriptのデータ型は大きくプリミティブ型とオブジェクトの2つに分かれます。
そのうちのプリミティブ型の特性として挙げられるのがimmutableです。
immutableは、「一度作成したら変更できない」ことを指します。しかし、私はletを使えば変更可能じゃないか!と思いました。

疑問点

immutableは「一度作成したら変更できない」を意味するのではないの?変更できるじゃん!

index.js
let message = 'Hello';
console.log(message);
message = message + 'World';
console.log(message);
Hello
HelloWorld

messageHelloからHelloWorldに変わっています。

結論

私が行なったことは変更ではなく、再代入でした。(変数messageに変数messageと文字列Worldを繋いで生成した文字列を格納している場所を渡している)*参考文献中の記事がわかりやすかったです。
変更とは、以下のような既存の値に手を加えるだけのことを指すようです。

index.js
let message = 'Hello';
console.log(message);
message[0] = 'a';
console.log(message);
Hello
Hello

変更を加える前と後でmessageが変わっていないことから、プリミティブ型である文字列がimmutableであることがわかります。

参考文献

Immutable (不変)
ミュータブルな型とイミュータブルな型の相違を知ろう

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0