如何无需if语句将Checkbox的checked布尔值转换为自定义值?求对应语法名称及实现示例
三元条件运算符:你的布尔值转自定义值解决方案
你提到的这个语法叫做三元条件运算符(也常被简称为三元运算符),它是JavaScript里专门用来简化简单if-else判断的简洁语法,刚好能满足你不想用if语句的需求。
你记忆里的写法方向是对的,但符号用错了——三元运算符的正确结构是:条件 ? 条件为true时返回的值 : 条件为false时返回的值
针对你的使用场景,正确的实现代码应该是:
preferenceHotel = document.getElementById('preference-hotel').checked ? "yes" : "no";
简单拆解下这段代码的逻辑:
- 先判断复选框的
checked属性值(布尔类型) - 如果结果是
true(复选框被勾选),就将"yes"赋值给preferenceHotel - 如果结果是
false(复选框未勾选),就将"no"赋值给preferenceHotel
这样就能直接得到你想要的"yes"/"no"结果,完全不需要额外的if判断语句~
内容的提问来源于stack exchange,提问作者Sybrentjuhh




