object转date类型_js-最常用的类型判断
类型判断在 web 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判断日期、正则、错误类型,再再进阶一点还有比如判断 plainObject、空对象、Window 对象等等。
以上都会讲,今天是上半场。
typeof
我们最最常用的莫过于 typeof,注意,尽管我们会看到诸如:
console.log(typeof('yayu')) // string
的写法,但是 typeof 可是一个正宗的运算符,就跟加减乘除一样!这就能解释为什么下面这种写法也是可行的:
console.log(typeof 'yayu') // string
引用《JavaScript权威指南》中对 typeof 的介绍:
typeof 是一元操作符,放在其单个操作数的前面,操作数可以是任意类型。返回值为表示操作数类型的一个字符串。
那我们都知道,在 ES6 前,JavaScript 共六种数据类型,分别是:
Undefined、Null、Boolean、Number、String、Object
然而当我们使用 typeof 对这些数据类型的值进行操作的时候,返回的结果却不是一一对应,分别是:
undefined、object、boolean、number、string、object
注意以上都是小写的字符串。Null 和 Object 类型都返回了 object 字符串。
尽管不能一一对应,但是 typeof 却能检测出函数类型:
function a() {}console.log(typeof a); // function
所以 typeof 能检测出六种类型的值,但是,除此之外 Object 下还有很多细分的类型呐,如 Array、Function、Date、RegExp、Error 等。
如果用 typeof 去检测这些类型,举个例子:
var date = new Date();var error = new Error();console.log(typeof date); // objectconsole.log(typeof error); // object
返回的都是 object 呐,这可怎么区分~ 所以有没有更好的方法呢?
Object.prototype.toString
是的,当然有!这就是 Object.prototype.toString!
那 Object.protototype.toString 究竟是一个什么样的方法呢?
为了更加细致的讲解这个函数,让我先献上 ES5 规范地址:https://es5.github.io/#x15.2.4.2。
在第 15.2.4.2 节讲的就是 Object.prototype.toString(),为了不误导大家,我先奉上英文版:
When the toString method is called, the following steps are taken:
- If the this value is undefined, return "[object Undefined]".
- If the this value is null, return "[object Null]".
- Let O be the result of calling ToObject passing the this value as the argument.
- Let class be the value of the [[Class]] internal property of O.
- Return the String value that is the result of concatenating the three Strings "[object
object转date类型_js-最常用的类型判断相关推荐
- json同一个参数不同类型_js基础之变量类型
1.JS 的数据类型分类 根据 JavaScript 中的变量类型传递方式,分为基本数据类型和引用数据类型.其中基本数据类型包括Undefined.Null.Boolean.Number.String ...
- Api - 应用程序接口、常用类、 方法(Object、Date、Calendar、DateFormat、String、StringBuilder、包装类)
Object 所有类的父类 Class getClass() 通过对象的该方法,可以获得对象对应的类的字节码对象 Object clone() - 克隆.赋值 调用方法的对象, 需要类实现Clonea ...
- Java学习 day12 (常用API2)Object、Date、DateFormat、Calendar、System、StringBuilder、包装类
前言: 在java中,API是指一些预先定义的函数,直接导入API就可以快速使用已经编写好的代码和与之对应的功能,之前我们也进行了一些常用API的学习,比如String类.Arrays类.Math类, ...
- boolean类型_JS核心理论之《数据类型、类型转换、深浅拷贝与参数传递》
数据类型 基本类型:共7种,也被称为值类型,是一种既非对象也无方法的数据.包括:string.number.bigint.boolean.null.undefined.symbol. 除了 null ...
- flask框架创建数据库定义字段类型和字段常用参数
1.字段类型 Integer int整型,普通整数,一般是32位 SmallInteger int 取值范围最小的整型,一般是16位 Big Integer int或long 不限制精度的整数 Flo ...
- sqlite bool mysql_MySQL/SQLite-数据库常用字段类型使用
本文分两部分: 第一部分:MySQL 常用数据字段类型介绍 第二部分:SQLite 常用数据字段类型介绍 永远不要在背后批评别人,尤其不能批评你的老板无知.刻薄和无能.(因为这样的心态,会使你走上坎坷 ...
- JAVA学习3-抽象类、内部类、数组、Object、System、String、基本包装类型
21.类之间的关系 is a:继承关系 has a : 关联关系,通常以属性的形式存在 like a:实现关系,通常是类与接口的关系; 22.抽象类与接口的区别 抽象类是半抽象的,接口是完全抽象的: ...
- Day2 QT常用基础类型(自用)
1. 基础类型 因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定 ...
- mysql数据库中常用的类型_MySQL数据库中常用字段类型
MySQL数据库中常用字段类型 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DECIMAL(M,D) 字符型:CHAR,VARCHAR 日期型:D ...
- Odoo二次开发------Odoo常用字段类型
版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处. 大家好.本篇文章主要讲述的内容是Odoo常用字段类型. 本文将从Odoo模型概述.Odoo的常规字段.自动字段和保留字段.常用字段属性. ...
最新文章
- java多态的应用场景_Java培训SE基础之多态的应用场景
- B2C(ecstore) 商城lnmp环境配置
- jquery源码之低调的回调函数队列--Callbacks
- jacky解读麻省理工《计算机科学与Python编程导论》第1集
- C#性能优化篇 - 基于索引器封装EPList
- c++如何快速写出get set_如何快速写出产品文案?(4大核心方法)
- JAVA编程思想课程视频
- 姓周取名:周姓漂亮有涵养的女孩名字
- pt-online-schema-change 脚本化
- Math.h 正态分布 C语言,C++与正态分布(示例代码)
- 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test,进行测试
- 学术数据库---EI
- 孤岛双馈风电机组数学模型matlab,大型变速双馈风电机组动态稳定性仿真分析
- 电容ESR表(一) 电容ESR表的特点、测量原理、电路分析
- 电力行业数字孪生技术应用白皮书(2022)
- NIST 网络安全框架导读
- 估值冰火两重天 互联网金融巨头“天价”冲刺上市
- SN74LVC4245A/(74LVC245) 真是个好东西啊
- 如何分析一个网站的SEO情况
- MSN协议分析以及Java实现MSN登陆