gpt4 book ai didi

javascript - 处理javascript空对象的简洁方法

转载 作者:行者123 更新时间:2023-11-30 08:44:33 24 4
gpt4 key购买 nike

我想要实现的是具有多个可能的 null 返回的干净代码,其中我不会在多个地方返回,代码易于理解并且不是嵌套的噩梦。例如考虑

var topLevel = testdata['key'];//testdata['key'] may be null
var nextLevel = topLevel['subkey']; //topLevel['subkey'] may be null
var subSubLevel = ...

我最初的想法是做类似的事情

var topLevel = testdata['key'] || 'error';

这将至少停止“无法获取 null 的 x”错误,但我将在末尾有一个 block ,我需要检查这些变量中的每一个是否有错误,如果有则返回 null 并提供一个适当的错误消息(可能与关联对象有关)。

有没有人有更聪明、更简洁的方法来实现相同的最终结果?

最佳答案

我可能会使用 JavaScript 的奇特强大的 && 运算符(您已经在使用的 curiously-powerful || operator 的近亲):

var topLevel = testdata['key'];
var nextLevel = topLevel && topLevel['subkey'];
// ...

如果 topLevel 为假(nullundefined 等),nextLevel 将得到该假值(左侧操作数);如果不是,则计算右边的操作数并且 nextLevel 接收它的值。使用这些类型的守卫,您可以随心所欲地继续前进。

var topLevel = testdata['key'];
var nextLevel = topLevel && topLevel['subkey'];
var nextNextLevel = nextLevel && nextLevel['key3'];
var nextNextNextLevel = nextNextLevel && nextNextLevel['key4'];

当您需要对象引用、nullundefined 时,这非常方便。

关于javascript - 处理javascript空对象的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23106903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com