JavaScript数据类型及相互间的转换规则

JavaScript数据类型及相互间的转换规则

在JavaScript中,数据类型可以分为基本数据类型和引用数据类型,其中基本数据类型包括:数字、字符串、布尔值、null、undefined以及symbol(ES6新增),引用数据类型包括:对象、数组、函数等。

基本数据类型

数字

数字类型包括整数和浮点数。JavaScript中所有数字都是浮点数,例如:

let num = 10;   // 整数
let floatNum = 3.14;   // 浮点数

字符串

字符串是一组由单引号、双引号或反引号括起来的字符序列,例如:

let str1 = 'Hello world!';
let str2 = "JavaScript is great!";

布尔值

布尔值只有两种取值:true和false,例如:

let isDone = true;
let isOver = false;

null

null表示一个空对象指针,例如:

let value = null;

undefined

undefined表示一个未定义的值,例如:

let value;
console.log(value);   // 输出undefined

Symbol

Symbol是一种新增的基本数据类型,它表示一种唯一标识符。每个Symbol值都是唯一的,例如:

let sym1 = Symbol('foo');
let sym2 = Symbol('foo');
console.log(sym1 === sym2);   // 输出false

引用数据类型

对象

对象是一组无序的键值对集合,例如:

let obj = {
    name: '张三',
    age: 20,
    gender: '男'
};

数组

数组是一组有序的数据集合,例如:

let arr = [1, 2, 3, 4];

函数

函数是一段可重复使用的代码块,例如:

function add(a, b) {
    return a + b;
}

数据类型相互间的转换规则

JavaScript中的数据类型间可以互相转换,转换规则如下:

字符串转数字

字符串可以通过调用Number()或parseFloat()函数转换为数字,例如:

let str = '123';
console.log(Number(str));   // 输出123
console.log(parseFloat(str));   // 输出123

数字转字符串

数字可以通过调用toString()或String()函数转换为字符串,例如:

let num = 123;
console.log(num.toString());   // 输出'123'
console.log(String(num));   // 输出'123'

布尔值转数字

true转换为数字1,false转换为数字0,例如:

let isDone = true;
console.log(Number(isDone));   // 输出1

数字转布尔值

除0和NaN以外的数字都转换为true,0和NaN转换为false,例如:

console.log(Boolean(123));   // 输出true
console.log(Boolean(0));   // 输出false
console.log(Boolean(NaN));   // 输出false

对象转原始类型

对象转字符串

对象可以通过调用toString()或valueOf()方法将其转换为字符串,例如:

let obj = {};
console.log(obj.toString());   // 输出'[object Object]'
console.log(obj.valueOf());   // 输出{}

对象转数字

对象可以通过valueOf()方法将其转换为数字,例如:

let obj = { valueOf: function() { return 123; } };
console.log(Number(obj));   // 输出123

字符串和数字之间的转换

字符串转数字

如果字符串只包含数字字符,则直接转换为数字,否则转换为NaN,例如:

console.log(Number('123'));   // 输出123
console.log(Number('3.14'));   // 输出3.14
console.log(Number('abc'));   // 输出NaN

数字转字符串

直接调用toString()方法将数字转换为字符串即可,例如:

console.log(123.toString());   // 输出'123'
console.log(String(3.14));   // 输出'3.14'

示例说明

示例一

let str = '123';
console.log(Number(str));   // 输出123
console.log(parseFloat(str));   // 输出123

这个例子演示了如何将字符串'123'转换为数字。

示例二

let obj = { valueOf: function() { return 123; } };
console.log(Number(obj));   // 输出123

这个例子演示了如何将对象转换为数字,使用了valueOf()方法返回一个包含数字123的对象。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript数据类型及相互间的转换规则 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • javascript入门教程基础篇

    JavaScript入门教程基础篇攻略 什么是JavaScript JavaScript是一种脚本语言,通常用于网页的客户端编程。它可以直接嵌入到HTML代码中,并在页面上进行动态交互,例如弹出对话框、验证表单、改变样式等。 学习JavaScript前的准备 在学习JavaScript之前,需要掌握HTML和CSS基础知识,因为JavaScript通常用于操…

    JavaScript 2023年5月17日
    00
  • html数组字符串拼接的最快方法

    HTML数组字符串拼接是Web开发中的常见任务。优化此过程可提高网页性能,提高页面响应能力和用户体验。在本文中,我将重点介绍针对HTML数组字符串拼接的最佳实践和方法。 方法一:使用模板字符串 ES6引入的模板字符串可以使用${}实现字符串替换,简化了字符串拼接的操作,同时提高了性能和代码的可读性。在HTML数组字符串拼接中,使用模板字符串可以有效地减少代码…

    JavaScript 2023年5月27日
    00
  • JavaScript本地数据存储sessionStorage与localStorage使用详解

    JavaScript本地数据存储sessionStorage与localStorage使用详解 什么是本地数据存储 在Web开发中,我们通常需要在前端与后端进行数据交互。但是,有些数据可能并不需要在后端进行处理,只需要在前端进行维护。这时本地数据存储就变得非常有用了。 本地数据存储是指将数据保存在浏览器本地而不是后端服务器上。利用本地数据存储框架,我们可以在…

    JavaScript 2023年6月11日
    00
  • 本地存储localStorage用法详解

    本地存储localStorage用法详解 什么是本地存储localStorage 本地存储localStorage是HTML5中提供的一种新的在客户端存储数据的机制,与cookie相比,localStorage有以下优点: 存储容量更大:cookie一般只能存储4KB左右的数据,而localStorage可以存储更大数据(5MB或以上)。 可以存储复杂的数据…

    JavaScript 2023年6月11日
    00
  • 利用JavaScript制作一个酷炫的3D图片演示

    下面是详细讲解如何利用JavaScript制作一个酷炫的3D图片演示的完整攻略。 准备工作 在开始制作之前,需要先准备好以下内容: 确认浏览器支持 WebGL,对于不支持 WebGL 的浏览器需要添加 fallback 方案以便在不支持 WebGL 的浏览器上能够正常显示。 准备好可以用来渲染的 3D 图片模型,例如 OBJ 格式的 3D 模型。 学习 Th…

    JavaScript 2023年6月10日
    00
  • Javascript中call,apply,bind方法的详解与总结

    Javascript中call,apply,bind方法的详解与总结 在Javascript中,call、apply和bind是Function对象的三个原生方法,它们的作用都是改变函数中this的指向。虽然功能类似,但是它们的实现方式和使用场景略有不同。 call()方法 call()方法的作用是在指定的this值和参数下调用函数。语法如下: functi…

    JavaScript 2023年6月10日
    00
  • uniapp和uniCloud开发中常出现的问题及解决汇总

    UniApp 和 UniCloud 开发中常见问题及解决汇总 UniApp 和 UniCloud 是目前移动端和云端开发中比较热门的技术之一。在实际开发中,我们可能会遇到一些问题,本文会根据实际开发经验,对一些常见问题进行总结,为大家提供便利。 问题一:UniApp 点击事件不生效 出现这个问题的原因可能是你没有在 App.vue 文件中设置 click 事…

    JavaScript 2023年6月10日
    00
  • 详细聊聊JS中不一样的深拷贝

    下面我将详细讲解JS中不一样的深拷贝的完整攻略。 什么是深拷贝 深拷贝是指将一个对象完整复制一份并生成一个新对象,新对象和旧对象互不影响,即使新对象被修改了,旧对象也不会发生改变。 JavaScript 中的深拷贝 在 JavaScript 中,拷贝对象的方法是 Object.assign() 或者使用扩展运算符 …。然而,这些拷贝方法都只能进行浅拷贝。…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部