MST

星途 面试题库

面试题:JavaScript中不同浏览器对三元操作符的兼容性表现

请阐述在JavaScript里,三元操作符 `condition? expr1 : expr2` 在主流浏览器(如Chrome、Firefox、Safari、IE)中是否存在兼容性问题,如果存在,举例说明并提供解决方案。
27.1万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

在主流浏览器(Chrome、Firefox、Safari、IE)中,三元操作符 condition? expr1 : expr2 基本不存在兼容性问题。它是JavaScript的基础语法,被所有主流浏览器广泛支持。

但在早期版本IE(如IE6 - IE8)中,如果在严格模式下使用三元操作符对未声明变量进行赋值,可能会有问题。例如:

// 以下代码在早期IE严格模式下可能出错
'use strict';
var result = true? unDeclaredVar : 'default'; 

解决方案:确保变量在使用前已声明。

'use strict';
var unDeclaredVar;
var result = true? unDeclaredVar : 'default';