首页 > 其他分享 >js中的类型转换

js中的类型转换

时间:2023-09-27 23:05:00浏览次数:40  
标签:类型转换 js 字符串 num 显式 var 隐式

js中的类型转换

JavaScript 中有两种类型转换:隐式类型转换(强制类型转换)和显式类型转换。类型转换是将一个数据类型的值转换为另一个数据类型的值的过程。

隐式类型转换(强制类型转换):

隐式类型转换是 JavaScript 自动进行的类型转换,通常发生在操作符运算或比较时,以确保操作的值具有相同的数据类型。以下是一些常见的隐式类型转换的情况:

  • 字符串拼接:当使用 + 运算符将字符串与其他数据类型相加时,其他数据类型会隐式转换为字符串。
var num = 42;
var str = "The answer is: " + num; // 隐式将 num 转换为字符串
  • 数学运算:在数学运算中,JavaScript 会将其他数据类型转换为数字。
var str = "42";
var num = 10;
var result = str - num; // 隐式将 str 转换为数字
  • 比较操作符:在使用比较操作符(例如 =====)时,JavaScript 会进行类型转换以便比较两个值。
var num = 42;
var str = "42";
if (num == str) {
  // 隐式将 str 转换为数字,然后比较
  console.log("相等");
}

显式类型转换:

显式类型转换是通过编写代码来明确告诉 JavaScript 进行类型转换的过程。以下是一些常见的显式类型转换的方法:

  • parseInt() 和 parseFloat():用于将字符串转换为整数或浮点数。
var str = "42";
var num = parseInt(str); // 显式将字符串转换为整数
  • String():将其他数据类型转换为字符串。
var num = 42;
var str = String(num); // 显式将数字转换为字符串
  • Number():将其他数据类型转换为数字。
var str = "42";
var num = Number(str); // 显式将字符串转换为数字
  • Boolean():将其他数据类型转换为布尔值。
var num = 42;
var isTrue = Boolean(num); // 显式将数字转换为布尔值
  • 其他类型转换函数:JavaScript 还提供了其他类型转换函数,如 parseFloat()String.fromCharCode() 等,用于不同的数据类型转换需求。

对于undefined ,null, 0 ,''在各种类型转换中会出什么结果

  1. undefined
  • 隐式类型转换:当将 undefined 与其他数据类型进行隐式类型转换时,它会被转换为 undefinedNaN(如果是数学运算)。
  • 显式类型转换:可以使用 String(undefined) 转换为字符串,或者使用 Number(undefined) 转换为数字,结果都是 NaN

null

  • 隐式类型转换:与 undefined 类似,当将 null 与其他数据类型进行隐式类型转换时,它会被转换为 null0(如果是数学运算)。
  • 显式类型转换:可以使用 String(null) 转换为字符串,结果是 "null";使用 Number(null) 转换为数字,结果是 0

0

  • 隐式类型转换:0 在隐式类型转换中通常被视为假值(false),但在数学运算中会保持为 0
  • 显式类型转换:String(0) 转换为字符串 "0"Boolean(0) 转换为 falseNumber(0) 保持为 0

空字符串 ''

  • 隐式类型转换:空字符串在隐式类型转换中通常被视为假值(false),但在某些情况下也可能保持为空字符串。
  • 显式类型转换:String('') 转换为空字符串 ""Boolean('') 转换为 falseNumber('') 转换为 0

需要注意的是,在 JavaScript 中,布尔上下文中的假值包括 undefinednull0、空字符串 ''NaNfalse。在条件语句(如 ifwhile)中,它们会被视为假值,其他所有值都被视为真值。这是 JavaScript 中的类型转换规则的一部分。


标签:类型转换,js,字符串,num,显式,var,隐式
From: https://blog.51cto.com/u_14196886/7629821

相关文章

  • VScode对于json格式文件允许添加注释设置(永久有 效)
    如果你想让VSCode永久地将所有的.json文件都识别为JSONC,你可以通过修改VSCode的全局设置来实现。以下是具体步骤:在VSCode中按下Ctrl+,来打开设置(或者在菜单中选择"File"->"Preferences"->"Settings")。在搜索框中输入“files.associations”。在"Files:Associations......
  • 20个提升效率的JS简写技巧,告别屎山!
    JavaScript中有很多简写技巧,可以缩短代码长度、减少冗余,并且提高代码的可读性和可维护性。本文将介绍20个提升效率的JS简写技巧,助你告别屎山,轻松编写优雅的代码!移除数组假值可以使用filter()结合Boolean来简化移除数组假值操作。假值指的是在条件判断中被视为false的......
  • SyntaxError: "undefined" is not valid JSON
    今天在写组件的一个接受JSON字符串的prop时,不知道为什么会报以下错误。file:[console]SyntaxError:"undefined"isnotvalidJSONfile:[Example.vue]<SVGv-if="data.length"v-for="itemindata":width="item.width":height="item......
  • js对象和变量怎么合并为一个新对象?
    对象和一个变量合并为一个新对象,下面是变量letobj={ name:'张三',cardId:'123456789012345678'}letcertNo='123456'两种方法:把合并后的属性放入一个新对象中//输出结果mergedData:{name:'张三',cardId:'123456789012345678',certNo:'123456&#......
  • Threejs -- TweenJS自定义flyTo函数
    TweenJS参考文档笔记末尾附自定义flyTo函数动画库tweenjs简介和引入项目TweenJS是一个有javascript语言编写的补间动画库,如果需要tweenjs辅助你生成动画,对于任何前端web项目,你都可以选择tweenjs库。如果你是用three.js开发web3d项目,使用tween.js辅助three.js生成动画效果......
  • 记录--Vue3 + Fabricjs 定制国庆专属头像
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助生在国旗下,长在春风里!国庆将至,采黎为大家带来定制头像2.0(国庆头像),让我们用代码的形式为祖国庆生!欢迎大家点赞收藏加关注哦前言想看效果或者想定制春节头像的小伙伴请直奔效果区域;想一睹定制头像2.0小工具的......
  • js 取下面data的值
    js取下面data的值{"code":0,"msg":"SUCCESS","data":[{"empId":"b0652068-3d8c-49cd-a3d1-6978daf497c7","empName":"吴正康","empDate":"2023-09-12T00:00:00",......
  • xStream完美转换XML、JSON
    xStream框架xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换;前面有介绍过json-lib这个框架以及Jackson这个框架它们都完美支持JSON,但是对xml的支持还不是很好。一定程度上限制了对Java对象的描述,不能让xml完全体现到对Java......
  • json
    JSON(JavaScript ObjectNotation)是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编......
  • 5 分钟理解 Next.js SSG (Static Site Generation / Static Export)
    5分钟理解Next.jsSSG(StaticSiteGeneration/StaticExport)在本篇文章中,我们将介绍Next.js中的SSG(静态网站生成)功能,以及它是如何工作的。我们将介绍SSG的基本概念,以及在Next.js中如何使用ServerComponents和ClientComponents来实现不同的数据获取策略。什......