You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript构造函数中定义布尔类型变量?写法是否正确?

你的代码语法正确,但需根据实际需求调整

你的这段代码语法上完全没问题,它确实给Hamburger实例的order属性设置了布尔类型的false值。不过这里有个容易混淆的点:你把order写在了构造函数的参数列表里,但代码里完全没用到这个传入的参数——不管外部调用时传什么,order都会被固定设为false。

如果你的需求是:

  • 不管外部传什么,order初始值都固定为false:那可以把参数列表里的order删掉,避免误导,代码改成这样:
function Hamburger(menu, price) {
    this.menu = menu;
    this.price = price;
    this.order = false; 
}

如果你的需求是:

  • 根据外部传入的order参数来设置,同时确保它一定是布尔类型:那需要对传入的参数做处理,比如用Boolean()强制转换,或者做严格判断:
// 强制转换为布尔值(空字符串、0、null、undefined都会转为false,其他转为true)
function Hamburger(menu, price, order) {
    this.menu = menu;
    this.price = price;
    this.order = Boolean(order); 
}

// 或者只在传入明确的true时才设为true,其他情况(包括不传参数)都是false
function Hamburger(menu, price, order) {
    this.menu = menu;
    this.price = price;
    this.order = order === true; 
}

内容的提问来源于stack exchange,提问作者정지은

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:10:22