值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
基本类型
1.JavaScript 拥有动态类型
let x; // x 为 undefined
let x = 5; // 现在 x 为数字
let x = "John"; // 现在 x 为字符串
x的数据类型随着赋值的不同会发生变化
2.JavaScript 字符串(String)
let carname="Volvo XC60";
let carname='Volvo XC60';
let answer="It's alright";
let answer="He is called 'Johnny'";
let answer='He is called "Johnny"';
3.JavaScript 数字(Number)
// JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
let x1=34.00; //使用小数点来写
let x2=34; //不使用小数点来写
4.JavaScript 布尔(Boolean)
// 布尔(逻辑)只能有两个值:true 或 false。
let x=true;
let y=false;
5.JavaScript Undefined 和 Null
let cars=null;
let person=null;
6.JavaScript 数组(Array)
// 第一种:
let cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
// 第二种
let cars=new Array("Saab","Volvo","BMW");
// 数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。
7.JavaScript 对象(Object)
// 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。
// 属性由逗号分隔:
let person={firstname:"John", lastname:"Doe", id:5566};
// 对象 (person) 有三个属性:firstname、lastname 以及 id
// 空格和折行无关紧要。声明可横跨多行
let person={
firstname: "John",
lastname: "Doe",
id: 5566
};
// 对象属性有两种寻址方式:
let name=person.lastname;
let name=person["lastname"];
8.JavaScript Symbol
// ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。
// 它是 JavaScript 语言的第七种数据类型
// 前六种是:undefined、null、Boolean、String、Number、Object
// Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,
//一种是原来就有的字符串,另一种就是新增的 Symbol 类型。
// 凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
let s = Symbol();
typeof s; // "symbol"
Symbol详细解说参考阮一峰ES6入门 Symbol
声明变量类型
// 当您声明新变量时,可以使用关键词 "new" 来声明其类型:
let carname=new String();
let x= new Number();
let y= new Boolean();
let cars= new Array();
let person= new Object();
// JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。