2021-09-15 JavaScript中强制将某个未知类型变量转成基础数据类型
为什么要强制将某个未知类型变量转成基础数据类型?
- 实际业务场景里,一个变量的数据是否合法或符合预期,会影响到自己的代码的可靠性。比如在别人使用自己写的自定义函数,而自己写的函数中的一些值是需要对入参严格限制为数字的,同时自己想,如果别人输入错误,就使用一些默认值。
//自己写的代码---名为[自定义函数集.js];
const 自定义函数 = (未知类型入参一)=>{
const 内部数字变量一 = 根据未知类型入参一转成的数字;//在这里,需要根据[未知类型入参一]初始化变量;
根据内部数字变量一执行的代码块;//在这里执行一系列操作;
return 内部数字变量一;
}
export 自定义函数;
//别人的代码;
import 自定义函数集 from '自定义函数集.js';
自定义函数集.自定义函数('虽然传的不是数字,但想要你当成我传的是数字')
转化:
- 强制转成数字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;
*/
说明:
- 此文长期更新。
- 此文主要是自己通过之前负责的项目及自己思考得出的。所以尽量不用专业术语,只考虑好理解。
- 使用中文变量,是为了读者更好理解,实际项目里,目前最好还是使用字母。因为中文有可能会有一些未知错误,也不方便一些人的理解。因为变量名及类型是最好的注释,用中文更精准地传意,不必花费时间特意去说明。
- 如果有不对的,请在2022-01-01前通知我,我及时改一下。在这之后就算有错,估计也不会特意去改了。
参考:
2021-09-15 JavaScript中强制将某个未知类型变量转成基础数据类型的更多相关文章
- JavaScript中登录名的正则表达式及解析(0基础)
简言 在JavaScript中,经常会用到正则表达式来进行模式匹配.例如,登录名验证,密码强度验证,字符串查找或替换等操作.现在就开始吧,零基础写出你的第一个正则表达式! 在做用户注册时,都会用到登录 ...
- javascript中强制类型转换
javascript开发过程中,强制类型转换一般发生在条件判断和==运算符.其他情况,发生的类型转换(与这两种情况也是基本类似,属于万变不离其宗的范畴),暂不讨论. == 双等运算符 考虑代码: a ...
- 在JavaScript中进行文件处理,第一部分:基础
译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 很多年前,我在一次Goole面试被问到,如何在w ...
- javascript中的字符串对象和数组对象
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...
- javascript中的字符串对象
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...
- javascript中6种基本数据类型详解
javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值 ...
- javascript中逻辑运算(||,&&,!)
作为一个后端开发的程序员,一直就对JavaScript情有独钟,作为一门前后端通吃的语言,必须赞一下.而且之前很长一段时间都有在做JavaScript,一路都是和ie8死磕,磕完又找低版本的谷歌磕,坑 ...
- 详细理解javascript中的强制类型转换
将值从一种类型转换为另一种类型通常称为类型转换,这是显式的情况:隐式的情况称为强制类型转换,JavaScript 中的强制类型转换总是返回标量基本类型值,如字符串.数字和布尔值. 如何理解: 类型转换 ...
- JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时 ...
- 谈 JavaScript 中的强制类型转换 (2. 应用篇)
这一部分内容是承接上一篇的, 建议先阅读谈 JavaScript 中的强制类型转换 (1. 基础篇) 前两章讨论了基本数据类型和基本包装类型的关系, 以及两个在类型转换中十分重要的方法: valueO ...
随机推荐
- Tidb异名恢复Mysql数据库的过程
Tidb异名恢复Mysql数据库的过程 背景 先说坑: TiDB备份恢复的方式 1. mysqldump + mysql source 的方式. 2. mydumper + loader tidb 的 ...
- 【转帖】Linux 调优篇:虚拟化调优(hugepage 大页内存)* 叁
一. 大页(HugePages)概念Hugepage的引入二. hugepages相关概念三.Regular Pages 与 HugePagesa.Regular Pagesb.Huge Pages四 ...
- 关于JVM指针压缩性能的研究
关于JVM指针压缩性能的研究 摘要 JVM的内存对消最小是 8bytes 所以32G内存的情况下可以使用 32位的指针就可以了. 32位就是4G 在乘以最小的内存extent 8 bytes 的出来可 ...
- [转帖]Linux如何查看网关地址
转至:https://baijiahao.baidu.com/s?id=1733537078943023051&wfr=spider&for=pc 服务器之间的通信是通过ip地址来 ...
- DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法
DBLink实现备份文件不落盘的导入其他Oracle数据库实例的方法 背景 公司内经常有从其他服务器备份数据库实例的需求 之前的操作一般需要,备份源服务器使用expdp将source导出dump文件. ...
- STM32CubeMX教程25 PWR 电源管理 - 睡眠、停止和待机模式
1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm ...
- echarts饼图中央自定义文字
var option = { tooltip: { trigger: 'item' }, legend: { top: '5%', left: 'center' }, //中央自定义文字 title: ...
- ts函数讲解与不确定参数是否使用以及限制返回类型
1.声明式函数 函数有两个参数 参数的数据类型是 string number 返回值值 number 哈 function person(name: string, age: number): num ...
- 爬虫逆向基础,认识 SM1-SM9、ZUC 国密算法
关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! [01x00] 简介 国密即国家密码局认定的国产加密算法,爬虫工程师在做 JS 逆向的时候,会遇 ...
- 自动部署(apb docker cicd gitlab)
1.安装gitlab-runner docker pull gitlab/gitlab-runner:latest 2.运行镜像 docker run -d --name gitlab-runner ...