为什么要强制将某个未知类型变量转成基础数据类型?

  1. 实际业务场景里,一个变量的数据是否合法或符合预期,会影响到自己的代码的可靠性。比如在别人使用自己写的自定义函数,而自己写的函数中的一些值是需要对入参严格限制为数字的,同时自己想,如果别人输入错误,就使用一些默认值。
//自己写的代码---名为[自定义函数集.js];
const 自定义函数 = (未知类型入参一)=>{
const 内部数字变量一 = 根据未知类型入参一转成的数字;//在这里,需要根据[未知类型入参一]初始化变量;
根据内部数字变量一执行的代码块;//在这里执行一系列操作;
return 内部数字变量一;
}
export 自定义函数;
//别人的代码;
import 自定义函数集 from '自定义函数集.js';
自定义函数集.自定义函数('虽然传的不是数字,但想要你当成我传的是数字')

转化:

  1. 强制转成数字number:
//1. 使用[Number(String(未知类型的变量)) || NaN时转成的值];
var 未知类型的变量 = Symbol('未知类型的变量')
const 数字 = Number(String(未知类型的变量)) || 0;//如果数字为NaN,则转成为0;
//先转成字符串,是为了Symbol类型的值也能不报错变成NaN;
/* 示例:
var 未知类型的变量 = {}
var 数字变量 = Number(String(未知类型的变量)) || 0;//0; var 未知类型的变量 = [1]
var 数字变量 = Number(String(未知类型的变量)) || 0;//1; var 未知类型的变量 = [6]
var 数字变量 = Number(String(未知类型的变量)) || 0;//6; var 未知类型的变量 = Symbol('665')
var 数字变量 = Number(String(未知类型的变量)) || 0;//0; var 未知类型的变量 = '665'
var 数字变量 = Number(String(未知类型的变量)) || 0;//665;
*/

说明:

  1. 此文长期更新。
  2. 此文主要是自己通过之前负责的项目及自己思考得出的。所以尽量不用专业术语,只考虑好理解。
  3. 使用中文变量,是为了读者更好理解,实际项目里,目前最好还是使用字母。因为中文有可能会有一些未知错误,也不方便一些人的理解。因为变量名及类型是最好的注释,用中文更精准地传意,不必花费时间特意去说明。
  4. 如果有不对的,请在2022-01-01前通知我,我及时改一下。在这之后就算有错,估计也不会特意去改了。

参考:

  1. 2021-07-30 JavaScript中常用数据的判断;

2021-09-15 JavaScript中强制将某个未知类型变量转成基础数据类型的更多相关文章

  1. JavaScript中登录名的正则表达式及解析(0基础)

    简言 在JavaScript中,经常会用到正则表达式来进行模式匹配.例如,登录名验证,密码强度验证,字符串查找或替换等操作.现在就开始吧,零基础写出你的第一个正则表达式! 在做用户注册时,都会用到登录 ...

  2. javascript中强制类型转换

    javascript开发过程中,强制类型转换一般发生在条件判断和==运算符.其他情况,发生的类型转换(与这两种情况也是基本类似,属于万变不离其宗的范畴),暂不讨论. == 双等运算符 考虑代码: a ...

  3. 在JavaScript中进行文件处理,第一部分:基础

    译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 很多年前,我在一次Goole面试被问到,如何在w ...

  4. javascript中的字符串对象和数组对象

    1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...

  5. javascript中的字符串对象

    1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...

  6. javascript中6种基本数据类型详解

    javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值 ...

  7. javascript中逻辑运算(||,&&,!)

    作为一个后端开发的程序员,一直就对JavaScript情有独钟,作为一门前后端通吃的语言,必须赞一下.而且之前很长一段时间都有在做JavaScript,一路都是和ie8死磕,磕完又找低版本的谷歌磕,坑 ...

  8. 详细理解javascript中的强制类型转换

    将值从一种类型转换为另一种类型通常称为类型转换,这是显式的情况:隐式的情况称为强制类型转换,JavaScript 中的强制类型转换总是返回标量基本类型值,如字符串.数字和布尔值. 如何理解: 类型转换 ...

  9. JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

    今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时 ...

  10. 谈 JavaScript 中的强制类型转换 (2. 应用篇)

    这一部分内容是承接上一篇的, 建议先阅读谈 JavaScript 中的强制类型转换 (1. 基础篇) 前两章讨论了基本数据类型和基本包装类型的关系, 以及两个在类型转换中十分重要的方法: valueO ...

随机推荐

  1. 【转帖】磁盘IOPS的计算

    计算磁盘IOPS的三个因素: 1.RAID类型的读写比 不同RAID类型的IOPS计算公式: RAID类型 公式 RAID5.RAID3 Drive IOPS=Read IOPS + 4*Write ...

  2. 【转帖】【奇技淫巧】Linux | 安全保障防火墙-iptables

    虽然说Linux在安全方面确实相当于windows要更加可靠一些,但一般使用其作为服务器的我们,也不能大意,也是需要严格限制网络传输过程中的出入规则.上篇文章我们有聊到统计网络的信息,这篇文章来学习一 ...

  3. [转帖]20191022-从Jenkins NativeOOM到Java8内存

    我把老掉牙的Jenkins升级了,它跑了几天好好的:后来我有一个python脚本使用JenkinsAPI 0.3.9每隔2.5分钟发送约300余get请求,结果过了3天,它就挂了:当我开两个脚本时,4 ...

  4. zabbix 6.0 官方文档

    Choose your platform   ZABBIX VERSION 6.0 LTS 5.4 5.0 LTS 4.0 LTS OS DISTRIBUTION Red Hat Enterprise ...

  5. 行云部署成长之路--慢SQL优化之旅 | 京东云技术团队

    ​ 当项目的SQL查询慢得像蜗牛爬行时,用户的耐心也在一点点被消耗,作为研发,我们可不想看到这样的事.这篇文章将结合行云部署项目的实践经验,带你走进SQL优化的奇妙世界,一起探索如何让那些龟速的查询飞 ...

  6. vue3.2如何将写hooks呢?

    场景 有些时候,我们需要将一个页面拆分成各个模块. 这些模块包含增加,删除,修改,等 并且这些模块会处理非常复杂的业务逻辑问题 所以,我们最好是将他们分开. 如何将分离新增模块拆离出去 主页面 < ...

  7. 任意文件下载包含https的图片

    使用a标签进行下载 <a href="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ. ...

  8. go中string是如何实现的呢

    go中string是如何实现的呢 前言 实现 go语言中的string是不可变的 []byte转string string转[]byte 字符串的拼接 +方式进行拼接 fmt 拼接 Join 拼接 b ...

  9. C/C++ 实现Windows注册表操作

    Windows注册表(Registry)是Windows操作系统中用于存储系统配置信息.用户设置和应用程序数据的一个集中式数据库.它是一个层次结构的数据库,由键(Key)和值(Value)组成,这些键 ...

  10. Python 字符串与字节数组转换

    整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 16进制转10进制: int('0x10', 16) ==> 16 类似的还有oct(), bin() 字符串 ...