首页 > 其他分享 >条件逻辑快速摘要:要求和边缘情况

条件逻辑快速摘要:要求和边缘情况

时间:2024-09-26 21:13:19浏览次数:8  
标签:未定义 摘要 边缘 setting user 如果 条件逻辑 config 我们

随着时间的推移,我们发展了读写逻辑条件的技能,新的语言特性可以为我们提供新的解决方案。但并非所有解决方案都是平等的。让我们快速看一个例子。 设置假设我们有一个可能存在于多个位置的属性,并且我们希望优先考虑嵌套实例。以下是一些可能的解决方案:// Option A: Ternaryconst setting = config.user ? config.user.setting : config.setting;// Option B: Optional Chaining and Nullish Coalescingconst setting = config.user?.setting ?? config.setting;// Option C: Destructuring and Nullish Coalescingconst { setting } = config.user ?? config;登录后复制 找出差异它们在功能上看起来非常相似,但存在细微的差异。根据我们的业务需求或数据设计,其中一些可能会导致错误。看一下这三个选项,看看您是否能够识别结果会有所不同的不同场景。我们对每个版本做了什么假设? 运营商分析首先,考虑起作用的特定运算符。三元 - 使用 truthy 检查来决定使用哪个表达式。可选链接 - 如果对象是nullish,则返回未定义,但如果它只是falsy。,则不返回未定义nullish coalescing - 如果第一个表达式为 nullish.,则使用第二个表达式 不为空三元运算符在这里脱颖而出。对于大多数实际目的来说,当我们谈论对象时,它的行为方式是相同的。差异归结为当事情不起作用时我们期望的值是什么。未分配的对象通常是未定义或为空。但是,如果我们的项目使用 false 或“还不是对象!”,则使用三元组做出的假设可能会产生不需要的结果。不过,这是一个不太可能出现的极端情况。 了解意图如果我们忽略不太可能的“非对象”场景,选项 a 和 c 基本上是相同的。如果config.user存在,则获取config.user.setting。否则,获取config.setting。选项 b 做了一些不同的事情。如果 config.user.setting 存在,请使用它。否则,获取config.setting。差异很小,但直接关系到需求或技术设计决策:如果缺少用户,还是仅在缺少 user.setting 时,我们会回退到 config.setting?两者都是有效的可能性,但如果我们做出错误的假设,当我们期望默认值时,我们可能会一无所获,或者当我们期望什么都没有时,我们最终可能会得到一些东西。 结论除了问目标是什么之外,这里没有“正确答案”。我们需要更多背景信息。对于项目成员来说,要求澄清这些问题可能显得迂腐,但如果我们与期望不一致,这些小细节可能会产生非常微妙的错误。对于这个项目或整个公司来说可能有一个正确的答案。我们甚至可能在一个项目中使用多个选项;一是聚焦价值;另一个重点是结构。也许没有人考虑过这些差异。也许团队认为他们是一致的,但实际上并非如此。 不问你就不会知道。 以上就是条件逻辑快速摘要:要求和边缘情况的详细内容,更多请关注我的其它相关文章!

标签:未定义,摘要,边缘,setting,user,如果,条件逻辑,config,我们
From: https://www.cnblogs.com/aow054/p/18434383

相关文章

  • 底层设计:轮询系统 - 边缘情况
    目录案例1-处理更新的版本控制情况2-pollid作为uuid而不是主键情况3-选项为空或无效案例4-重复选项案例5-问题长度限制案例6-投票过期请先参考以下文章:底层设计:投票系统:基本底层设计:轮询系统-使用node.js和sql边缘情况处理案例1要管理投票......
  • 使用re的正则表达式提取腾讯体育新闻摘要
    首先确认要爬取的信息所在网页是静态还是动态,打开浏览器开发者工具抓包,下拉页面更新体育新闻的摘要(summary),同时查看网络面板,筛选fetch/xhr发起的请求的响应,随着下拉动作,能发现对https://matchweb.sports.qq.com/feeds/list的请求的增加。爬取的目标网页是动态的,第n页的请求地址为h......
  • 文本摘要综述—从统计方法到大型语言模型综述介绍,原文阅读:A Systematic Survey of Tex
    ASystematicSurveyofTextSummarization:FromStatisticalMethodstoLargeLanguageModels文本摘要的系统综述:从统计方法到大型语言模型paper:https://arxiv.org/abs/2406.11289文章目录~原文阅读Abstract1.Introduction1.1.MajorDifferences1.2.MainContri......
  • 边缘计算网关:轻工行业的智能化新引擎
    在轻工行业迈向智能化转型的浪潮中,边缘计算网关作为关键技术载体,正逐步展现其不可替代的作用。这一前沿技术,通过在数据源附近进行高效数据处理与分析,不仅加速了数据价值挖掘,还推动了生产流程的优化与效率的提升。科普边缘计算网关边缘计算网关,简而言之,是介于传感器、设备与传统数据......
  • “MySQL 查询反馈全解析:揭开消息、摘要、状态、结果及警告(错误)的神秘面纱”(详细)
    在MySQL中,当您运行查询时,通常会显示几个主要的标签或部分。这些部分通常包括消息(Message)、摘要(Summary)、状态(Status)、结果(Results)以及警告或错误(Warnings/Errors)。以下是这些部分的详细解释:消息(Message):这是一个简要的反馈区,显示查询执行的结果信息。如果查询执行成功......
  • OpenCV(Canny 边缘检测算法)
    目录1.高斯滤波(GaussianBlur)2.计算梯度强度和方向(GradientCalculation)3.非极大值抑制(Non-MaximumSuppression)3.1示例1.梯度强度矩阵(7x7)2.每个像素的梯度方向(7x7)3.非极大值抑制过程4.非极大值抑制后的矩阵(7x7)4.双阈值处理(DoubleThresholding)5.边缘连接(EdgeTracking......
  • Python 潮流周刊#70:微软 Excel 中的 Python 正式发布!(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。分享了12篇文章,12个开源项目,2则音视频,全文2000字。以下是本期摘要:......
  • 米尔STM32MP2核心板首发新品上市!高性能+多接口+边缘算力
    米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA252PIN设计,存储配置1GB/2GBLPDDR4、8GBeMMC,具有丰富的通讯接口,适用于高端工业HMI、边缘计算网关、新能源充电桩、储能EMS系......
  • 基于RK3588,AI边缘模块,单片6TOPS,可集群堆叠,Mixtile Blade 3
    MixtileBlade3 是一款经济实惠、节能的SBC,围绕下一代8纳米瑞芯微RK3588处理器构建。它非常适合快速开发、AI应用程序原型设计和边缘计算,允许您集群多个MixtileBlade3SBC以扩展您的部署。硬件布局正反面开箱即用的MixtileBlade3是一款可堆叠计算机,带有板载......
  • 边缘智能-大模型架构初探
    R2Cloud接口机器人注册请求和应答注册是一个简单的HTTP接口,根据机器人/用户信息注册,创建一个新机器人。请求URLURLhttp://ip/robot/regTypePOSTHTTPVersion1.1Content-Typeapplication/json请求参数Param含义Rule是否必须缺省robotid机器人唯一IDmd5加密后的......