javascript Boolean类型和其他类型的转换

一些相关的值

1, 0, ‘1‘, ‘0‘, true, false, ‘true‘, ‘false‘, NaN, ‘NaN‘, undefined, ‘undefined‘, null, ‘undefined‘, ‘‘, [], {}

true == 1 //true

true == ‘1‘ //true

true == ‘true‘ //false, 除了‘1‘, true不等于任何其他字符串

true == NaN //false

true == undefined //false

true == null //false

true == ‘‘ //false

true == [] //false

true == {} //false

false == 0 //true

false == ‘0‘ //true

false == ‘false‘ //false, 除了‘0‘, false不等于任何其他字符串

false == NaN //false

false == undefined //false

false == null //false

false == ‘‘ //true

false == [] //true, 这个竟然是true

false == {} //false

if(1) //true

if(‘1‘)  //true

if(‘true‘) //true

if(‘false‘) //true

if(‘NaN‘) //true

if(NaN) //false

if(‘undefined‘) //true

if(undefined) //false

if(‘null‘) //true

if(null) //false

if(‘‘) //false

if([]) //true

if({}) //true

转换规则不好掌握, 写代码的时候老想着这些规则太麻烦, 以后不用if(name)这样的代码了, 同样也不用==了.

时间: 2024-08-07 13:20:21

javascript Boolean类型和其他类型的转换的相关文章

JavaScript - 数值类型的判断与常用转换方式

主要参考: isNaN() - JavaScript | MDN Number.isNaN() - JavaScript | MDN parseInt() - JavaScript | MDN parseFloat() - JavaScript | MDN 数值类型的判断方法isNaN()和Number.isNaN() 可接受任意参数,用来判断其参数是否为NaN(not a number) 由于把NaN与任何值(包括其自身)相比得到的结果都是false,因此无法通过==或===运算符来判断某个值

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型.那么先来看下javascript都有那些变量类型已经它们的使用方法吧. 先来看看javascript都有那些类型吧: string --- 字符串number --- 数值boolean --- 布尔值undefined --- 未申明的变量 或 申明并未赋值null --- 空object  --- 对象function  --- 函数 这里比较有争议的是 function 类型到底要不要归属到变量类

JavaScript基本数据类型及值类型和引用类型

在JavaScript中四种基本的数据类型:数值(整数和实数).字符串型(用“”号或‘'括起来的字符或数值).布尔型(使True或 False表示)和空值.在JavaScript的基本类型中的数据可以是常量,也可以变量.由于JavaScript采用弱类型的形式,因而一个数据的 变量或常量不必首先作声明,而是在使用或赋值时确定其数据的类型的.当然也可以先声明该数据的类型,它是通过在赋值时自动说明其数据类型的. javascript中的变量 javascript中的变量只是一个占位符,前言已经说过了

javascript中的隐式类型转化

javascript中的隐式类型转化 #隐式转换 ## "+" 字符串和数字 如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+将进行拼接操作. 如果其中一个操作数是对象(包括数组),则首先对其调用`ToPrimitive`抽象操作,该抽象操作再调用`[[DefaultValue]]`,以数字作为上下文. `[1,2]+[3,4]=='1,23,4'` 原因,因为数组的valueOf操作无法得到简单的基本类型,于是它转而调用toString.因此上栗得到的是'1,23,4'

JavaScript命名空间、函数参数类型重载的实现

突然心血来潮写的东西,可以考虑在func({arg1: xxx, arg2: xxx})不适用的情况下使用. <!DOCTYPE html> <html lang="zh"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>命名空间.参数类型重载</title>

01.JavaScript 面向对象精要--原始类型和引用类型

一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接保存在对象内,而引用值则作为一个指针保存在 对象内,该指针指向实际对象在内存中的储存位置. 二.原始类型 2.1 JavaScript中5中原始类型:boolean,number,string,null,undefined  原始类型变量直接保存原始值(而不是一个指针),当你将原始值赋值给一个变量 

JavaScript基础——引用类型(一)Object类型、Array类型

引用类型简介 引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起.它也常被称为类,但这种称呼并不妥当(虽然不妥当,在别人提起的时候,就是指ECMAScript中的引用类型,在一次面试的时候,有人就和面试官争论说"JS中没有'类'这个概念,结果可想而知--").尽管ECMAScript从技术上讲是一门面向对象的语言,但它不举杯传统的面向对象语言所支持的类和接口等基本结构.引用类型有时候也被称为对象定义,因为它们描述的是一

计算两个日期之间相差几天(Date类型与String类型互相转换)

一:计算两个日期之间相差几天 1 /** 2 * 3 */ 4 package com.hlcui.date; 5 6 import java.text.ParseException; 7 import java.text.SimpleDateFormat; 8 import java.util.Calendar; 9 import java.util.Date; 10 11 import org.junit.Test; 12 13 /** 14 * @author Administrator

可空值类型与值类型这间的转换

int s = 5; int? s_null; long t; long? t_null; t = s; //隐式转换 S -> T s = (int)t; //显示转换 T -> S s_null = s; //隐式转换 S -> S? s = (int)s_null; //显示转换 S? -> T t_null = s_null; //隐式转换 S? -> T? s_null = (int?)t_null; //显示转换 T? -> S? t_null = s; /

int类型与char类型的转换

java对char类型的数据在底层是按int类型来处理的 一.int类型与char类型在赋值是可自动转换. 以上可以看出65被自动转换成unicode编所对应的字符,字符B被自动转换成unicode码 二.字符类型的数值可进行数值运算 如上所示,i的结果是66(在代码第5行,i=c+1=65+1=66),c的值为B(代码第8行,c=c+1=65+1=66=B)