下記の場合、「値による」手法と、「参照による」手法で結果が異なる。
// 下記は、「値による」のか? 「参照による」のか? ということ。
x = y;
obj.meth(x);
x == y;
では、JavaScriptではどうなのか。
3.15.1 基本型と参照型
基本データ型は基本型、オブジェクトは参照型。基本データ型の文字列を除けばJavaと同じ。
3.15.2 文字列は「値による」のか「参照による」のか
文字列は、
-
- 基本型と参照型のどちらにも分類できない性質を持っている。
- 文字列は不変(immutable)
- 文字列を変更することはできないから、「値による」のか「参照による」のか、どちらでもいい。
結論としては、文字列は基本データ型であり、オブジェクトではない。
3.15.4 「値による」データ型の操作と「参照による」データ型操作のまとめ
文字列だけJavaと違う、と覚えればよい。