JavaScript 数据类型

58 阅读2分钟

JavaScript不需要进行类型声明,因此它是一种弱类型(weakly typed)语言。这意味着程序员可以在任何阶段改变变量的数据类型。 有些其他的语言要求在声明变量的同时还必须同时声明变量的数据类型,这种做法称为类型声明(typing)。 必须明确类型声明的语言称为强类型(strongly typed)语言 现流行的TypeScript就是在做强类型

数据类型
  1. string 字符串
  2. number 数值
  3. boolean 布尔值
  4. array 数组
  5. object 对象
string 字符串

字符串由零个或多个字符构成。字符包括(但不限于)字母、数字、标点符号和空格。字符串必须包在引号里,单引号或双引号都可以。

var mood = 'happy';
number 数值类型

如果想给一个变量赋一个数值,不用限定它必须是一个整数,负数。JavaScript允许使用带小数点的数值,并且允许任意位小数,这样的数称为浮点数

var age = 33.5;
var age = 11;
boolean 布尔类型

另一种重要的数据类型是布尔(boolean)类型。 从某种意义上讲,为计算机设计程序就是与布尔值打交道。作为最基本的事实,所有的电子电路只能识别和使用布尔数据:电路中有电流或是没有电流。不管是使用术语true和false、yes和no或者1和0,重要的是只能取两种可取值中的一种。

var married = true;
var no = false;
array 数组类型

字符串、数值和布尔值都是标量(scalar)。如果某个变量是标量,它在任意时刻就只能有一个值。如果想用一个变量来存储一组值,就需要使用数组(array)。

// 数组可以用关键字Array声明。
var beatles = array();
// 声明数组的同时还可以指定数组初始元素个数,也就是这个数组的长度
var beatles = array(4);
// 向数组中添加元素的操作称为填充, 数组里一个元素配有一个下标。下标必须用方括号括起来 array[index] = element
beatles[0] = 'john0'
beatles[1] = 'john1'
beatles[2] = 'john2'
beatles[3] = 'john3'
// 我们甚至用不着明确地表明我们是在创建数组。事实上,只需用一对方括号把各个元素的初始值括起来就可以了
var beatles = ['john0', 'john1', 'john2', 'john3'];
object 对象类型

与数组类似,对象也是使用一个名字表示一组值。对象的每个值都是对象的一个属性。例如,前一节的lennon数组也可以创建成下面这个对象

var lennon = Object();
lennon.name = 'john';
lennon.year = 1984;

// 创建对象还有一种更简洁的语法,即花括号语法
var lennon = {
  name: 'john',
  year: 1984
}
typeof 返回数据类型
var message = '一个提示';
alert(typeof message);  // 返回 string 类型