||会遇见的面试题

简介: ||会遇见的面试题

知足且坚定,温柔且上进。

首先要知道 || 是运算符。

我们平常会用它做一些判断,例如当有一个条件为真时,就会返回true,全部条件为假时,就会返回false,然而事实真的是这样返回吗?

也不尽然。看下面。

const res = ('' || 0 || 1 || 2)
//1
const res = ('' || 0 || null)
//null
const res = ('' || null || 0)
//0

上面三道题,输出了res的结果。


第一题 和 后面两题的区别是 后面两题 || 左右的布尔值都是false


先看第一题:

输出1,可见,当有条件的布尔值为true时,就会返回第一个为true的条件

再看第二和第三题:

条件都为false,返回的都是最后一个


总结,|| 会返回第一个Boolean转换后为true的条件,没有则返回最后一个条件。


以下一些数据Bollean后的结果为false,要做到看见他们默认把他们当作false。


undefined
null
false
0
NaN


""或’’(空字符串)


相关文章
|
4月前
|
前端开发 JavaScript 程序员
(面试题) 面试官:如何在forEach的循环里使用break
(面试题) 面试官:如何在forEach的循环里使用break
|
4月前
|
算法 容器
【算法训练营】队列合集(2) 2073. 买票需要的时间 || 面试题 03.04. 化栈为队 ||
【算法训练营】队列合集(2) 2073. 买票需要的时间 || 面试题 03.04. 化栈为队 ||
110 0
|
4月前
|
前端开发
前端知识笔记(五)———break和continue的区别是什么?(详细)
前端知识笔记(五)———break和continue的区别是什么?(详细)
45 0
关于==和equals的区别和联系,面试这么回答就可以
关于==和equals的区别和联系,面试这么回答就可以
|
前端开发
前端学习案例1-obj面试题
前端学习案例1-obj面试题
61 0
前端学习案例1-obj面试题
node笔记记录52两道面试题之面试题1之2
node笔记记录52两道面试题之面试题1之2
51 0
node笔记记录52两道面试题之面试题1之2
node笔记记录52两道面试题之面试题1之1
node笔记记录52两道面试题之面试题1之1
55 0
node笔记记录52两道面试题之面试题1之1
|
JavaScript 前端开发 索引
|
JavaScript 前端开发
每日一题:== 和 ===区别,分别在什么情况使用
每日一题:== 和 ===区别,分别在什么情况使用
115 0