本文中涉及的参考材料全部声明在了JavaScript 数据构造进修与实践材料索引 。
隐式类型转换
在 JavaScript 中,当我们进行比较操作或者加减乘除四则运算操作时,经常会触发 JavaScript 的隐式类型转换机制;而这部分也往往是令仁攀困惑的处所。譬如浏览器中的 console.log 操作经常会将任何值都转化为字符串然后展示,而数学运算则会起首将值转化为数值类型(除了 Date 类型对象)然落后行操作。
我们起首来看几组典范的 JavaScript 中运算符操作结不雅,欲望浏览完本部分之后可以或许对每一个条目都能进行合理解释:
- // 比较
- [] == ![] // true
- NaN !== NaN // true
- 1 == true // true
- 2 == true // false
- "2" == true // flase
- null > 0 // false
- null < 0 // false
- null == 0 // false
- null >= 0 // true
- // 加法
- true + 1 // 1
- undefined + 1 // NaN
- let obj = {};
- {} + 1 // 1,这里的 {} 被当成了代码块
- { 1 + 1 } + 1 // 1
- obj + 1 // [object Object]1
- {} + {} // Chrome 上显示 "[object Object][object Object]",Firefox 显示 NaN
- [] + {} // [object Object]
- [] + a // [object Object]
- + [] // 等价于 + "" => 0
- {} + [] // 0
- a + [] // [object Object]
- [2,3] + [1,2] // '2,31,2'
- [2] + 1 // '21'
- [2] + (-1) // "2-1"
- // 减法或其他操作,无法进行字符串连接,是以在缺点的字符串格局下返回 NaN
- [2] - 1 // 1
- [2,3] - 1 // NaN
- {} - 1 // -1
原始类型间转换
- // String
- let value = true;
- console.log(typeof value); // boolean
- value = String(value); // now value is a string "true"
- console.log(typeof value); // string
- // Number
推荐阅读
《CIO修炼之道》第 4 讲制造业企业的核心竞争力表如今产品和办事上,展如今客户面前的竞争力就是“性价比高,交货快!”,这“一高、一快”是互相接洽关系的。比如,采取提前备货、扩大年夜产能等>>>详细阅读
地址:http://www.17bianji.com/lsqh/37165.html
1/2 1