Node.js 数据类型

Node.js性能高,它使用JavaScript是因为JavaScript支持第一类函数和闭包。Node.js有一些核心类型:number,boolean,string和object。

undefined值意味着值尚未设置或根本不存在:

  1. var x;
  2. console.log(x);

上面的代码生成以下结果。

undefined结果

Null空值

null是一个明确的断言,即“没有值”:

  1. var y;
  2. console.log(y);
  3. y = null ;
  4. console.log(y);

上面的代码生成以下结果。

null结果

typeof

要查看JavaScript中任何内容的类型,请使用 typeof 运算符:

  1. console.log(typeof 10);
  2. console.log(typeof "hello");
  3. console.log(typeof function () { var x = 20; });

上面的代码生成以下结果。

typeof结果

常量

标准做法是使用大写字母和变量声明:

  1. var SECONDS_PER_DAY = 86400;
  2. console.log(SECONDS_PER_DAY);

类型比较和转换

JavaScript同时具有等于运算符“==”和精确等于运算符“===”。

  1. console.log(234 == "234");
  2. console.log(234 === "234");
  3. console.log(234234.235235 == "cat");
  4. console.log("cat" == "CAT");
  5. console.log("cat".toUpperCase() == "CAT");

上面的代码生成以下结果。

等于运算符结果

许多不同的值求值为false。

  1. console.log("" == false == null == undefined == 0);
  2. console.log(null === undefined);

检查函数的参数:

  1. function fine(param) {
  2. if (param == null || param == undefined || param == "")
  3. throw new Error("Invalid Argument");
  4. }
  5. function better(param) {
  6. if (!param)
  7. throw new Error("Invalid Argument");
  8. }

更加需要注意原始包装。

  1. var x = 234;
  2. var x1 = new Number(234);
  3. console.log(typeof x);
  4. console.log(typeof x1);
  5. console.log(x1 == x);
  6. console.log(x1 === x);

上面的代码生成以下结果。

结果