Back
Featured image of post JavaScript 数据类型

JavaScript 数据类型

JavaScript 数据类型

JavaScript是一个弱类型语言,具有基本类型和引用类型。对于JavaScript来说,万物皆对象(对象是拥有属性和方法的数据,属性是与对象相关的值,方法是能够在对象上的操作)

基本类型和引用类型

  • 基本类型:Undefined/Null/Boolean/Number/String/Symbol
  • 引用类型:Object/Array/Function/Date/RegExp…

类型的判断

typeofinstanceof这两个操作可以用来判断类型,但是有时会出现问题。 基于JavaScript中的万物皆对象,

/* 检测对象类型
 * @param: obj {JavaScript Object}
 * @param: type {String} 以大写开头的 JS 类型名
 * @return: {Boolean}
*/
function is(obj, type)  {  
  return Object.prototype.toString.call(obj).slice(8, -1) === type;
}

我们可以利用is这个函数来判断数据类型

is('sofish', 'String') // true  
is(null, 'Null') // true  
is(new Set(), 'Set') // true

类型转换

JavaScript中的数据类型是可以改变的,如:

1 + '2' // '12'  
1 + (+'2') // 3  
1 - '2' // -1  

在JS中,+具有双重角色,在上面的第二个例子当中,String前面的+把其强制转换为Number。对于JS的类型转化通常理解+具有双重角色即可

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy