当前位置: 首页 > news >正文

【JavaScript】[]和{} 的转换

背景

([])? true:false
({})? true:false
([] == true)? true:false
({} == true)? true:false
([] === true)? true:false
({} === true)? true:false

分析

[ ]和{ } 都是复杂类型,以上都是三目运算符判断

1.判断[ ]和{ } 是否存在
声明了这些已经分配了内存,肯定是存在的

([])? true:false  //true
({})? true:false  //false

2.判断[ ]和{ }和布尔值的转换

  • == 含类型转换
  • 如果一个操作数是对象,另一个是基本类型,对象首先会被转换为原始值(调用对象的valueOf()方法,返回自身的话就调用toString()方法),再布尔值转换为数字(‌true 转换为 1,‌false 转换为 0)‌
([] == true)? true:false //false //[]调用toString()为‘’ 
//‘’== 1 为false
//''== 0 为true
({} == true)? true:false //false  //'[object Object]' == 1 为false

3.判断[ ]和{ } === 的转换

  • ===不含类型转换,比较的是地址,基本类型是栈,引用类型是堆
([] === true)? true:false //false 
({} === true)? true:false //false  
  • 同类型也不相同,每次创建都会开辟一块新内存
([] === [])? true:false //false 
({} === {})? true:false //false  

http://www.mrgr.cn/news/1633.html

相关文章:

  • 自助酒店管理系统设计与实现
  • stm32—串口
  • 4.4、配置交换机vlan
  • 三节点 DMHS 级联同步搭建
  • EasyExcel基本使用
  • 分布式缓存———数据一致性问题
  • Playbook剧本案例实战
  • 【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.1 的详细步骤
  • 八股之数据库
  • PDF转图片 JAVA
  • 【Python cv2播放视频修改帧率】
  • smallpdf: 免费高效的PDF水印添加工具
  • Nginx 请求转发配置指南
  • 光伏业务管理软件是如何提高企业管理效率的?
  • 技术爱好者完全用台式机部件定制游戏笔记本电脑
  • C++入门——19C++的类型转换
  • SQL - 查询
  • 基于Spring Boot的疗养院管理系统的设计与实现
  • 【JPCS出版】2024年自动化、电气控制系统与设备国际学术会议(AECSE 2024)
  • Dockerfile常用指令详解