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

JS/TS中能否在if语句括号内声明const变量?

在JS/TS中能否像PHP一样在if语句括号内声明变量?

在PHP里,我们可以直接在if的条件括号里赋值并使用变量,写法如下:

if ($myvar = myfunction()) {
  // 在这里使用$myvar
}

放到JS/TS里,从ES2021(ES12)版本开始,已经支持这种写法了,你示例里的代码是完全合法的:

if (const myvar = myfunction()) {
    // 在这里使用myvar
}

也可以用let代替const,适合后续需要修改变量的场景:

if (let myvar = myfunction()) {
    myvar = 'new value';
    // 处理逻辑
}

需要注意的是,这种方式声明的变量仅在当前if代码块以及对应的else/else-if代码块内有效,不会污染外部作用域。另外只有当myfunction()返回的是真值(非falsy值)时,if块才会执行,变量也只会在条件成立的块内可访问。

内容的提问来源于stack exchange,提问作者jdion84

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 12:43:09