摘要:比较运算符,操作数都不是类型时操作数中只有类型和类型,或者其中有一个是转换为运算条件运算转换为号运算,其中一个操作符为字符串比较运算,其中一个操作符为字符串
要求:学习,并背诵全文
原始值类型 | Undefined | Null | String | Boolean | Number |
---|---|---|---|---|---|
值 | undefined | null | 所有字符串 | true false | 所有数字/NaN |
Object的成员叫对象,包括Array,Function,Math,Date,JSON,RegExp等除了原始值之外的所有的类型的成员。
valueOf / toStringObject | String | Array | Number | Date | Boolean | Function | |
---|---|---|---|---|---|---|---|
valueOf | 原始值 | 原始值 | 原始值 | 原始值 | 毫秒时间戳 | 原始值 | string |
toString | [Object Object] | 原始值 | join方法返回的结果 | 数字字符串 | 本地时间字符串 | "true"/"false" | string |
X | Undefined | Null | String | Boolean | Number | Object |
---|---|---|---|---|---|---|
Boolean(X) = true | - | - | 非空字符串 | true | 非0 非NaN | 所有 |
Boolean(X) = false | undefined | null | 空字符串 | false | 0 NaN |
X | Undefined | Null | String | Boolean | Number | Object |
---|---|---|---|---|---|---|
Number(X) = number | - | - | 全为数字 | - | 原样返回 | desc: 先调用valueOf再转换为Number |
Number(X) = 0 | - | null | "0" | false | 0 | - |
Number(X) = 1 | - | - | "1" | true | 1 | - |
Number(X) = NaN | undefined | - | 包含数字之外的字符 | - | NaN | - |
X | Undefined | Null | String | Boolean | Number | Object |
---|---|---|---|---|---|---|
String(x) | "undefined" | "null" | 原样返回 | "true"/"false" | toString结果 | 先转为原始值,然后调用toString |
x | undefined | null | Boolean | Number | String | Object |
---|---|---|---|---|---|---|
Object(x) | {} | {} | 原始值为X的Boolean对象 | 原始值为X的Number对象 | 原始值为X的String对象 | 原值输出 |
Object(undefined) // {} Object(null) // {} Object(true) // Boolean {true} Object(false) // Boolean {false} Object(1) // Number {1} Object("hello") // String {"hello"} Object({ a: 1 }) // {a: 1}场景 转换为Number
一元 +, - 运算符
+{} = NaN +"20" = 20 -"20" = -20 +[] = 0; +[1] = 1; +[1, 2] = NaN
++, -- 运算符
+, -, *, /, % 计算
需要注意的是,当 + 计算有字符串参与计算时,会转换为字符串。
>, <, >=, <= 比较运算符, 操作数都不是String类型时
==, != 操作数中只有String类型和Number类型,或者其中有一个是Boolean
转换为Boolean&& ! || 运算
条件运算
if, while, do-while, for
转换为String+ 号运算,其中一个操作符为字符串
比较运算,其中一个操作符为字符串
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/90797.html
摘要:在中,如果函数没有声明返回值,那么会返回。返回是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有个以及。 前言 说好听是说JS灵活, 说不好听就是JS的坑太多, JS类型转换就是一个大坑, JS的类型包括了原始类型的[null, undefined, String ,Number, Boolean],以及对象类型的[function, object]; JavaScrip...
摘要:所谓装箱转换,正是把基本类型转换为对应的对象,他是类型转换中一种相当重要的种类。拆箱转换在标准中,规定了函数,它是对象类型到基本类型的转换即,拆箱转换。拆箱转换会尝试调用和来获得拆箱后的基本类型。 JavaScript隐式类型转换 基本数据类型 ECMAScript 一共定义了七种 build-in types,其中六种为 Primitive Value,Null, Undefined...
摘要:如果为假值,不传或者传入,函数都会返回但是,传入这个值是完全有可能的,所以这种判断形势是不正确的或者使用来判断也可以原始类型优于封装类型对象拥有六个原始值基本类型布尔值,数字,字符串,,和对象。 作为一个前端新人,多读书读好书,夯实基础是十分重要的,正如盖楼房一样,底层稳固了,才能越垒越高。从开始学习到现在,基础的读了红宝书《JavaScript高级程序设计》,犀牛书《JavaScri...
摘要:文章目录模板模板的概念函数模板函数模板语法函数模板注意事项函数模板案例普通函数与函数模板的区别普通函数与函数模板的调用规则模板的局限性类模板类模板语法类模板与函数模板区别类模板中成员函数创建时机类模板对象做函数参数类模 ...
摘要:构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。构造函数名字和类名相同,没有返回类型。构造函数放在类的部分要求编译器合成默认的构造函数。练习在你的类中添加构造函数,然后编写一段程序令其用到每个构造函数。 ...
阅读 2166·2021-11-19 09:55
阅读 2613·2021-11-11 16:55
阅读 3142·2021-09-28 09:36
阅读 1888·2021-09-22 16:05
阅读 3225·2019-08-30 15:53
阅读 1791·2019-08-30 15:44
阅读 2878·2019-08-29 13:10
阅读 1318·2019-08-29 12:30