常见的字符串隐式转换

32+32          //64

"32"+32        //"3232"

"32"-32         //0

"32"-0          //32    (将字符串转换为数字)

7-"a"    //NaN

"a"-"b"    //NaN

+{}[true]    //NaN

!{}[true]        //true

+!{}[true]        // 1

+[1]      //1

+[1,2]     //NaN 

7/0         // Infinity

!null      // true

!undefined    //true

!NaN      //true

"1.23"==1.23           //true            (尝试string转number)

0==false                  //true            (尝试boolean转number)

0==null        //false

null==undefined         //true

null==false      //false

new Object()==new Object()         //true    

[1,2]==[1,2]                                   //true   

new String("hi")=="hi"                  //true             (object==number|string尝试对象转为基本类型)

全等"==="

类型不同,返回false;

类型相同:

    NaN≠NaN

    new Object≠new Object

    null===null

    undefined===undefined

时间: 2024-12-13 11:17:52

常见的字符串隐式转换的相关文章

MySQL性能优化:MySQL中的隐式转换造成的索引失效

数据库优化是一个任重而道远的任务,想要做优化必须深入理解数据库的各种特性.在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症,这类问题往往还不容易定位,排查费时费力最后发现是一个很小的疏忽造成的,又或者是因为不了解某个技术特性产生的. 于数据库层面,最常见的恐怕就是索引失效了,且一开始因为数据量小还不易被发现.但随着业务的拓展数据量的提升,性能问题慢慢的就体现出来了,处理不及时还很容易造成雪球效应,最终导致数据库卡死甚至瘫痪.造成索引失效的原因可能有很多种,相关技术博客已经有

MySQL SQL优化之字符串索引隐式转换

之前有用户很不解:SQL语句非常简单,就是select * from test_1 where user_id=1 这种类型,而且user_id上已经建立索引了,怎么还是查询很慢? test_1的表结构: CREATE TABLE `test_1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` varchar(30) NOT NULL, `name` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`),

2017-9-15第一次学习C#内容(隐式转换,语句,输入输出,格式字符串,示例)

类型转换 1).隐式转换 注意: 隐式转换中不存在向char类型的隐式转换,float和double类型也不能隐式转换为decimal型. 2)强制类型转换 (目标类型) (表达式) 3)其他方式的转换\ ①Parse 目标类型.Parse(待转换字符串) ②as as运算符用以在兼容的引用类型之间执行某些类型的转换.如果要转换的类型与指定的类型兼容,转换就会成功,反之,就会失败as运算符就会返回null而不是引发异常. ③装箱与拆箱 装箱和拆箱能使值类型能够与object类型发生转换 装箱是将

0097 数据类型转换 之 转为字符串:toString()、String() 、隐式转换

什么是数据类型转换? ? 使用表单.prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型.通俗来说,就是把一种数据类型的变量转换成另一种数据类型,通常会实现3种方式的转换: 转换为字符串类型 转换为数字型 转换为布尔型 8.4.1.转换为字符串 toString() 和 String() 使用方式不一样. 三种转换方式,更多第三种加号拼接字符串转换方式, 这一种方式也称之为隐式转换. // 1. 把数字型转换为字符串型 变量.toString

隐式转换和显式转换及强制转换的区别【转】

隐式转换和显式转换及强制转换的区别 string strType = "123"; object objType= (object)strType;//可以不要,隐式转换, 要的为显式转换 string strType2 = (string)objType; //必须要,显式转换 int intType = (int)strType; //错误,不能通过编译 int intType = (int)objType; //错误,能通过编译 int intType = Convert.ToI

隐式转换和显式转换及强制转换的区别

string strType = "123"; object objType= (object)strType;//可以不要,隐式转换, 要的为显式转换 string strType2 = (string)objType; //必须要,显式转换 int intType = (int)strType; //错误,不能通过编译 int intType = (int)objType; //错误,能通过编译 int intType = Convert.ToInt32(objType); //正

Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL

Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL 1.1. $ 美元字符, php 黑头1 1.2. 默认变量的范围和声明:1 1.3. 变量的存储,储存在变量池里Map(varName,varVal)1 1.3.1. 复合变量1 1.4. 变量类型简化: 字符串 数字,  bool1 1.5. 变量自动隐式转换2 1.6. 类型推导2 2. 参考 复合变量2 1.1. $ 美元字符, php 黑头 1.2. 默认变量的范围和声明

oracle数据类型及其隐式转换

oracle有三种最基本的数据类型,即字符型.数值型.日期型. oracle提供的单行函数中,针对不同的数据类型,提供大量实用的函数,同时提供一系列数据类型转换函数,如下: 1)to_char     数值.日期->字符型     语法:to_char(num|date,[format mask],[nls_parameters])     参数:num|date 待转换的数值或者日期             format mask:可选参数 数字->字符型的可用格式 格式元素 元素说明 格式

转载:深入理解Scala的隐式转换系统

摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码. 使用方式: 1.将方法或变量标记为implicit 2.将方法的参数列表标记为implicit 3.将类标记为implicit Scala支持两种形式的隐式转换: 隐式值:用于给方法提供参数 隐式视图:用于类型间转换或使针对某类型的方法能调用成功 隐式值: 例1:声明person方法.其参数为name,类型String