Javascript类型定义
Javascript是一种动态类型语言,这意味着变量和参数可以在运行时根据需要自动更改类型。Javascript有七种内置数据类型。在Javascript中,有些类型被明确定义,而有些则隐式定义。
明确定义的数据类型
以下是Javascript中明确定义的数据类型:
字符串
字符串是由零个或多个字符组成的字符序列,用引号(单引号或双引号)表示。
var str1 = 'Hello World';var str2 = "Hello World";
数字
数字可以是整数或浮点数。
var num1 = 42; //整数var num2 = 3.14; //浮点数
布尔值
布尔值是true或false的值。
var bool1 = true;var bool2 = false;
Null
Null是一个特殊值,表示null或空值。
var nullVar = null;
Undefined
Undefined表示值未定义或不存在。
var undefinedVar = undefined;
Symbol
Symbol是ECMAscript 6引入的新数据类型,表示一个独特的标识符。
var sym1 = Symbol('foo');var sym2 = Symbol('foo');console.log(sym1 === sym2); //false
对象
对象是一个无序的数据集合,由键值对组成。
var obj = {name: 'Alice',age: 20};
隐式定义的数据类型
以下是Javascript中隐式定义的数据类型:
动态数组
动态数组是一个由多个元素组成的有序集合,可以扩展和缩小。
var arr = [1, 2, 3];arr.push(4);console.log(arr); //[1, 2, 3, 4]
函数
函数是一个可重复使用的代码块。
function add(a, b) {return a + b;}var sum = add(1, 2);console.log(sum); //3
正则表达式
正则表达式是用于模式匹配的文本字符串。
var reg = /hello/i;console.log(reg.test('Hello World')); //true
日期
日期是一个表示日期和时间的数据类型。
var date = new Date();console.log(date); //Sat Sep 04 2023 14:34:22 GMT+0800 (中国标准时间)
类型转换
Javascript有两种类型转换:显式类型转换和隐式类型转换。
显式类型转换
显式类型转换是通过强制类型转换来实现的,包括Number、String、Boolean、null和undefined。
var num = '42';console.log(typeof num); //'string'num = Number(num);console.log(typeof num); //'number'
隐式类型转换
隐式类型转换是在计算时自动完成的,例如在字符串连接和数学计算时。
var str = '42';console.log(str + 10); //'4210'var num = '42';console.log(num * 1); //42
总结
Javascript中有七种明确定义的数据类型和四种隐式定义的数据类型。Javascript的动态类型使其非常灵活,并且可以在需要时自动转换类型。了解类型转换和类型判断对于编写高质量的Javascript代码非常重要。