文章目录
Node基础学习系列
上一篇:Node基础学习(二):第一个Node应用
我们都知道,Node.js不是一门新语言,而是JavaScript在服务端运行的环境,所以我们有必要回忆一下JavaScript的基本数据类型,这样更加有助于我们学习和了解Node.js。
一、string(字符串)类型
string类型是JavaScript中的基本数据类型,可以直接使用单引号或者双引号定义,同时对于其他类型的变量,我们可以使用String()或者toString()将其转换为string类型的变量,这两个方法的区别在于,String()可以转换所有的类型,但是toString()无法转换值为null或者undefined的变量。
【提示】我们可以使用typeof运算符来判断一个变量的类型
var str1 = '单引号定义的字符串';
var str2 = "双引号定义的字符串";
console.log(typeof str1); //string
console.log(typeof str2); //string
var flag = true;
console.log(typeof flag); //boolean
//可以使用String()或者toString()方法将其他类型的变量转换为String类型
console.log(typeof String(flag)); //string
console.log(typeof (flag.toString())); //string
var obj1 = null;
var obj2 = undefined;
console.log(typeof String(obj1)); //string
console.log(typeof String(obj2)); //string
console.log(typeof obj1.toString()); //爆错,无法转换
console.log(typeof obj2.toString()); //爆错,无法转换
二、number(数字)类型
在JavaScript中,无论是整数还是小数,都是number类型的数据,同时,我们可以使用parseInt()方法,将其他类型的数据转换为number类型的整数,使用parseFloat()方法将其他类型的数据转换为number类型的小数。
var num1 = 0;
var num2 = 10000000000;
console.log(typeof num1); //number
console.log(typeof num2); //number
var str = '123456789';
console.log(typeof str); //string
console.log(typeof (parseInt(str))); //number
console.log(typeof (str * 1)); //number
var f = 3.141592;
console.log(typeof f); //numner
var fs = '3.141592';
console.log(typeof fs); //string
console.log(parseInt(fs)); //3
console.log(parseFloat(fs)); //3.141592
console.log(typeof (parseFloat(fs))); //number
console.log(typeof (fs * 1)); //number
三、boolean(布尔)类型
boolean类型只有两种值,分别为true(真)和false(假),我们可以使用Boolean()方法将其他类型的数据转换为boolean类型,其中非空字符串转换为true,空字符串转换为false,非0数字转换为true,0转换为false。
var flag1 = true;
var flag2 = false;
console.log(typeof flag1); //boolean
console.log(typeof flag2); //boolean
var str1 = '非空字符串';
var str2 = '';
console.log(Boolean(str1)); //true
console.log(typeof (Boolean(str1))); //boolean
console.log(Boolean(str2)); //false
console.log(typeof (Boolean(str2))); //boolean
var num1 = 999;
var num2 = -123;
var num3 = 0;
console.log(Boolean(num1)); //true
console.log(Boolean(num2)); //true
console.log(Boolean(num3)); //false
四、object(对象)类型
object类型是JavaScript的对象类型,其中null表示对象为空,{}表示一个对象,[]表示一个集合数组,它们都是object类型的数据。
var obj1 = null; //null
var obj2 = {}; //对象
var obj3 = []; //集合
console.log(obj1) //null
console.log(typeof obj1); //object
console.log(obj2) //{}
console.log(typeof obj2); //object
console.log(obj3) //[]
console.log(typeof obj3); //object
五、undefined(未定义)类型
在JavaScript中,还有一种类型的数据,就是未定义的数据类型。
var obj1;
console.log(obj1); //undefined
console.log(typeof obj1); //undefined
var obj2 = undefined;
console.log(obj2); //undefined
console.log(typeof obj2); //undefined
六、function(函数)类型
在JavaScript中还有另外一种特殊的数据类型,就是function类型,所有的函数都是函数类型的数据。
function firstFunction(){
console.log('调用了firstFunction方法!')
}
console.log(typeof firstFunction); //function
var secondFunctionObject = function secondFunction() {
console.log('调用了secondFunction方法!')
}
//上面这种写法和下面的写法是一样的
// var secondFunctionObject = function() {
// console.log('调用了secondFunction方法!')
// }
console.log(typeof secondFunction); //undefined
console.log(typeof secondFunctionObject); //function