1

了解字符串和数字的不变性

如果字符串“有效地”是一个不可变的字符数组,['B', 'o', 'b']那么对于数字数据类型是否如此?

似乎无法console.log(immutableNumber[0]);像我在上面使用上面的字符串数据类型所做的那样访问第一个数字 1。

var immutableString = "Bob"; // string 'effectively' an immutable array of characters ['B', 'o', 'b']
immutableString[0] = "Job";
console.log(immutableString[0]); // B
console.log(immutableString); // Bob

var reassignedString = "Bob";
reassignedString = "Job";
console.log(reassignedString); // Job

var immutableNumber = 123456; // is number 'effectively' an immutable array of characters? ['1', '2', '3', '4', '5', '6']
immutableNumber[0] = "7890";
console.log(immutableNumber[0]); // undefined - why not 1? 
console.log(immutableNumber); //123456

var reassignedNumber = "123456";
reassignedNumber = "789101";
console.log(reassignedNumber); // 789101

请问是否有关于 JS 如何处理不同原语的指南?

4

1 回答 1

3

在 JavaScript 中,Number 是双精度 64 位浮点格式 (IEEE 754) 的数值数据类型。

数字数据类型不同,虽然您可以在数字类型上使用某些方法,但您根本无法像在字符串上那样访问单个数字。

于 2020-01-23T15:08:32.210 回答