首页 > web前端 > js教程 > 正文

JavaScript 快速入门:糟糕的比较

碧海醫心
发布: 2024-10-17 20:13:58
转载
923人浏览过

javascript 快速入门:糟糕的比较

小虫子可能会从意想不到的地方爬进来。错误的值可能会使您的条件逻辑以意想不到的方式失败。让我们快速看一下严重不平等带来的令人头痛的问题。

基础知识

这些功能并不相同。它们大部分相同,但有一个非常具体的区别。你看到了吗?

const one = (a) => a > 10;
const two = (a) => !(a <= 10);
登录后复制

每当我们使用 undefined 或 nan 执行不等式检查时,结果都是 false。如果我们不明确检查边缘情况,两次“等效”检查可能会返回不同的答案。

它是如何发生的

if (!(value <= 10)) {
  // ...
登录后复制

如果您遇到该代码,您可能会毫不犹豫地将其更改为 if (a > 10) { 。

  • 更短了。
  • 更容易阅读。
  • 对于所有正常值它们是相同的。

为什么这很重要

但是我们并不总能得到正常值。这可能是对您的代码的重大更改。这可能会导致非常难以排除缺陷。这个简单的代码中没有任何内容表明我们可能会遇到“坏”值,因此您可能会完全错过它。

立即学习Java免费学习笔记(深入)”;

类型安全也无法解决这个问题,因为 nan 是一个数字......它只是一个

结论

如果您在代码中遇到这样的奇怪情况,请问问自己,如果您更改错误值,会发生什么情况。希望您的代码可以防止您获得错误的值并执行错误的数学运算,但对这些更改采取一点防御措施可以为您未来的自己省去很多麻烦。

在这种情况下,通常最好对错误值进行显式检查。这些可以向其他开发人员清楚地传达可能的输入和预期结果。

if (Number.isNaN(value) || value > 10) {
  // ...
登录后复制

以上就是JavaScript 快速入门:糟糕的比较的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号