JavaScript中的原始数据类型和非原始数据类型之间的区别

时间:2015-10-22 05:12:37

标签: javascript oop types abstract-data-type

我无法准确理解JavaScript中原始数据类型和非原始数据类型之间的区别,即使它是使用相同的名称声明,即var。

7 个答案:

答案 0 :(得分:3)

Data Types (JavaScript):

Primary Data Types
The primary (primitive) data types are:
String, Number, Boolean

Composite Data Types
The composite (reference) data types are:
Object, Array

Special Data Types
The special data types are:
Null, Undefined

点击here了解详情:

  var test1 = 1;
  var test2 = "Something";
  var test3 = true;
  var test4 = {};
  var test5 = new Array();
  var test6 = new Date();
  var test7;
  var test8 = null;

  alert(typeof (test1)); //number
  alert(typeof (test2)); //string
  alert(typeof (test3)); //boolean
  alert(typeof (test4)); //object
  alert(typeof (test5)); //object
  alert(typeof (test6)); //object
  alert(typeof (test7)); //undefined
  alert(typeof (test8)); //object

答案 1 :(得分:3)

Javascript有五种原始数据类型: 数字 2.字符串 布尔值 4.未定义 5. null

任何不属于这五种原始类型中的任何一种都被认为是一个对象。

前3种数据类型具有相应的对象构造函数。例如

#include <stdio.h>
void main() {
   printf("hello, world\n");
}

然后作为一个对象:

var word = "something";

对于对象构造函数,请注意 var word = new String("something"); 关键字。它创建了对象引用。

另一件需要注意的事情

new

对于所有情况,var关键字都相同,请记住Javascript是动态类型语言。这意味着它在运行时而不是编译时(例如Java,C ++)解析数据类型检查。

这使javascript非常强大。虽然这个独特的功能也有缺点。请通过此维基百科了解详细信息: https://en.wikipedia.org/wiki/Type_system#Static_and_dynamic_type_checking_in_practice

希望这有帮助。

答案 2 :(得分:1)

根据https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures

ES6中的原始数据类型为: 布尔型 空值 未定义 数 串 符号

不是原始类型的另一种数据类型是 对象

原始数据类型是不可变的值。

答案 3 :(得分:1)

原始数据类型为 1.号码 2.字符串 3.布尔值 4.未定义 5.空

非原始数据类型是 1.对象 2.数组 3.RegExp

答案 4 :(得分:0)

原始数据类型是编程语言提供的类型,是基本的构建块。如:数字,字符串,空,未定义,布尔值。 原始数据类型在编译时获取内存分配。

派生数据类型是从捆绑在一起的现有原始数据类型派生的类型,例如:数组,对象等。 派生的数据类型仅获得对存储值的内存分配的引用。

答案 5 :(得分:0)

**The latest ECMAScript standard defines eight data types:**
  1. 字符串
  2. 布尔值
  3. 号码
  4. BigInt
  5. 未定义
  6. 符号
  7. 对象

注意:-数组也不属于该列表,因为它们也是对象。在认为数组是Javascript中的特殊数据类型的开发人员中,这是一个普遍的困惑。

现在分叉数据类型

JavaScript中有两种类型的数据类型:

  1. 原始值(String,Boolean,Number,BigInt,Null,Undefine,Symbol)

  2. 非原始值也称为对象引用(对象,数组)

答案 6 :(得分:0)

这很简单,只要记住原始数据类型就是指包含单个值的数据类型,例如1,'test',true,

非原始数据类型是指包含多个值或称为非原始数据的复杂数据的数据类型,例如对象等。