JavaScript类型转换和强制转换

字符串转换为数字

● 例如这样一个代码,我们是无法得到我们想要的结果的

const inputYear = '1991';
console.log(inputYear + 18);

JavaScript类型转换和强制转换_第1张图片

他没有真正的相加,因为1991被加上单引号它就是一个字符串。但是我们可以将它转换为数字类型

const inputYear = "1991";
console.log(Number(inputYear) + 18);

JavaScript类型转换和强制转换_第2张图片

● 接着看下面的一段代码

console.log(Number("孙悟空"));

JavaScript类型转换和强制转换_第3张图片

虽然你把它转换成数字类型了,但是它本质就不是一个数字,所以会是这样显示;

console.log(Number("孙悟空"));
console.log(typeof NaN);

JavaScript类型转换和强制转换_第4张图片

● 但是我们看他确实是一个数字类型

当然,我们也可以把数字转换成字符串

console.log(String(23) + 11);

JavaScript类型转换和强制转换_第5张图片

在JavaScript中,我们仅可以转换三种类型,数字类型、字符串类型、布尔类型;

● 在JavaScript中,也可以自动的强制转换,例如

console.log('我今年' + 23 + '岁了');

JavaScript类型转换和强制转换_第6张图片

在这里例子中,23是一个数字类型,按照道理来说,它不能和字符串正常相加,这是因为JavaScript将其转换为字符串了
● 再看两个例子

console.log('23' - '10' - '2');
console.log('23' + '10' + '2');
console.log('20' / '10');

JavaScript类型转换和强制转换_第7张图片

● 能够看出来了吗?在字符串不能正确是哦那个除号和减号会被JavaScript强制转换为数字类型!

考一考你

let n = “1” + 1;
n = n - 1;
console.log(n);
想一想?这个会输出多少呢?

你可能感兴趣的:(JavaScript,javascript)