欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

值类型和引用类型,以及区分方式

程序员文章站 2022-04-05 08:05:37
...

值类型:数值(number)、字符串(string)、布尔值(boolean)、null、undefined,(ECMAScript2015即es6新增的symbol)

引用类型:对象(Object)、数组(Array)和函数(Function)

值类型使用typeof来检测数据类型,引用类型使用instanceof检测数据类型。

例子:

// 值类型
var a = 123; 
console.log(typeof(a) == 'number'); // true
var b = "fls";
console.log(typeof b == 'string'); // true
var c = true;
console.log(typeof(c) == 'boolean'); // true
var d;
console.log(typeof(d) == 'undefined'); // true
var e = null;
console.log(typeof(e) == 'object'); // true
var s = Symbol(); // Symbol类型是es6新增
console.log(typeof s == 'symbol'); // true

// 引用类型
var f = [];
console.log(typeof(f) == 'object'); // true
console.log(f instanceof Array == true); // true
var g = function () {};
console.log(typeof(g) == 'function'); // true
console.log(g instanceof Function == true); // true
var h = {a:1};
console.log(typeof(h) == 'object'); // true
console.log(h instanceof Object == true); // true