||会遇见的面试题

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

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

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

我们平常会用它做一些判断,例如当有一个条件为真时,就会返回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


""或’’(空字符串)


相关文章
|
6月前
|
前端开发 JavaScript 程序员
(面试题) 面试官:如何在forEach的循环里使用break
(面试题) 面试官:如何在forEach的循环里使用break
|
6月前
|
算法 容器
【算法训练营】队列合集(2) 2073. 买票需要的时间 || 面试题 03.04. 化栈为队 ||
【算法训练营】队列合集(2) 2073. 买票需要的时间 || 面试题 03.04. 化栈为队 ||
130 0
【面试题精讲】continuebreak和return的区别是什么
【面试题精讲】continuebreak和return的区别是什么
|
6月前
|
前端开发 JavaScript 安全
【面试题】【ES6】let和const命令 (面试必看)
【面试题】【ES6】let和const命令 (面试必看)
|
6月前
|
前端开发 算法 JavaScript
【面试题】面试官:如何判断两个数组的内容是否相等
【面试题】面试官:如何判断两个数组的内容是否相等
|
6月前
|
前端开发
前端知识笔记(五)———break和continue的区别是什么?(详细)
前端知识笔记(五)———break和continue的区别是什么?(详细)
54 0
关于==和equals的区别和联系,面试这么回答就可以
关于==和equals的区别和联系,面试这么回答就可以
node笔记记录52两道面试题之面试题1之1
node笔记记录52两道面试题之面试题1之1
61 0
node笔记记录52两道面试题之面试题1之1
node笔记记录52两道面试题之面试题1之2
node笔记记录52两道面试题之面试题1之2
57 0
node笔记记录52两道面试题之面试题1之2