haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……

Home Page:http://www.h-camel.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[js] 第178天 你知道什么是三元表达式吗?“三元” 表示什么意思?使用三元表达式应该注意些什么问题?

haizhilin2013 opened this issue · comments

第178天 你知道什么是三元表达式吗?“三元” 表示什么意思?使用三元表达式应该注意些什么问题?

三元表达式:(expr1) ? (expr2) : (expr3)
使用三元表达式应避免三元表达式嵌套三元表达式。

三元指的是三个操作数;

判断条件 ?条件成立时执行的分支 : 条件不成立执行的分支

顾名思义,三元表达式就是三个元素组成的表达式
三元: 条件?真结果 :假结果
注意的问题??避免嵌套三元表达式

@NicholasBaiYa @linhnogjie 再问下,为何要避免嵌套三元表达式呢?

一种代码规范吧,三元表达式嵌套过多看着过于头疼,一般公司的代码规范里都应该时不允许三元表达式嵌套的。如果需要多层嵌套完全可以用if之类的啊

commented

避免嵌套三元表达式

条件运算符的优先级是从右向左,因此会从最右侧算起,如果最右侧有嵌套,会从嵌套内的最右侧算起,这样就容易出错

@NicholasBaiYa @linhnogjie 再问下,为何要避免嵌套三元表达式呢?

首先容易出错,其次不符合编码规范,不利于他人阅读/理解。(代码不仅仅是写给机器跑的,还是写给人看的)

三元运算符: a > 1 ? a : b