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

如何更简洁地获取可能为undefined的comments对象的next_page属性?

更简洁的实现方式当然有!

你当前的代码逻辑没问题,但ES6+提供的语法糖能让你用更简洁的方式实现需求,这里给你几种常用方案:

1. 可选链 + 空值合并(最推荐)

这是ES2020引入的新特性,专门解决这种嵌套可选属性的场景,代码一行搞定:

const next_page = comments?.next_page ?? null;
  • comments?.next_page:先检查comments是否为null/undefined,如果是直接返回undefined;如果存在,就访问它的next_page属性(如果next_page不存在也返回undefined)
  • ?? null:当左边的值是null/undefined时,返回右边的null,完美匹配你的需求——既不会把0、''这类假值误转成null,又能处理所有属性不存在的情况。

2. 解构赋值 + 默认值

如果习惯用解构的写法,也可以这样:

const { next_page = null } = comments || {};

这里先给comments一个默认的空对象{},避免comments为undefined时解构报错;然后给next_page设置默认值null,当next_page不存在时就会使用这个默认值。

3. 简化版条件判断(适合旧环境)

如果你的运行环境不支持ES2020+,可以把原来的代码简化成一行三元表达式:

const next_page = comments && comments.next_page ? comments.next_page : null;

这个逻辑和你原来的代码完全一致,只是合并成了一行写法。

总的来说,第一种方案是目前最简洁、可读性最高的选择,现代浏览器和Node.js 14+都已经支持了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:11:31