1. 程式人生 > 其它 >JavaScript 學習-2.資料型別

JavaScript 學習-2.資料型別

前言

JavaScript 資料型別可以分為基本型別和物件型別兩大類

  • 基本型別:字串(String)、數字(Number)、布林(Boolean)、空(Null)、未定義(Undefined)、Symbol。
  • 物件型別:物件(Object)、陣列(Array)、函式(Function),還有兩個特殊的物件:正則(RegExp)和日期(Date)。

typeof 檢視資料型別

變數的資料型別可以使用 typeof 操作符檢視

console.log(typeof "yoyo")     //  string
console.log(typeof false)      //  boolean
console.log(typeof 5)          // number
console.log(typeof 5.2)         // number
console.log(typeof [1, 2, 3, 4])     // object
console.log(typeof {user:'yoyo', age: 20})  //  object

可以通過var 先定義變數,再使用 typeof 操作符檢視

var a;
var b = 'yoyo';
var c = 5;
var d = 5.2;
var e = [1, 2, 3, 4];
var f =  {name:'John', age:34};
console.log(typeof a)     //  undefined
console.log(typeof b)      //  boolean
console.log(typeof c)          // number
console.log(typeof d)         // number
console.log(typeof e)     // object
console.log(typeof f)  //  object

Undefined 和 Null

當我們定義了一個變數,未賦值,那麼此時就是undefined

var a;
console.log(typeof a)     //  undefined

當我定義了一個變數並給初始值,此時就可以用 null 來清空變數

var x = 'hello';
console.log(x)  // hello
console.log(typeof x)   // string
x = null
console.log(x)  // null
console.log(typeof x)   // object

String 字串

字串型別比較簡單,加引號就是字串(單引號和雙引號都可以)

var x = 'hello';
var y = "world";

如果需要輸出帶引號的字串,可以用單雙交替的方式

var z = 'you say: "hello world."';
console.log(z)

或者我們可以用轉義字元

var a = "you say: \"hello world.\"";
console.log(a)

Number 數字型別

JavaScript 不分浮點數和整數,只有一種Number 資料型別

小數點後面帶.0 這種和不帶小數點,都是一個結果,會自動去掉後面的.0

var a = 12.00
var b = 12
var c = 12.34
console.log(a)   // 12
console.log(b)   // 12
console.log(c)     // 12.34

極大或極小的數字可以通過科學(指數)計數法來書寫:

var x = 12e5;      // 1200000
var y = 12e-5;     // 0.0012

Boolean 布林值

布林值定義使用小寫的truefalse

var x = true;
var y = false;

Array 陣列

可以直接使用中括號定義一個數組, 數組裡面的成員可以是任意型別

var x = ['hello', 'world', true, 22.2, [1, 2,3 ]]
console.log(x)

也可以使用new Array() 來建立一個數組物件

var a = new Array();
console.log(a)

那麼此時定義的是一個空陣列

通過陣列下標給陣列新增成員

var a = new Array();
console.log(a);  // []
a[0] = 'hello';
a[1] = 'world';
a[2] = true;
console.log(a) // ['hello', 'world', true]

也可以直接在new Array() 物件的時候,同時給陣列新增成員

var a = new Array('hello', 'world', true, 22.2, [1, 2,3 ]);
console.log(a)  // ['hello', 'world', true, 22.2, Array(3)]

Object 物件

物件用大括號。在括號內部,物件的屬性和值以鍵值對(key: value) 來定義。多個屬性直接用逗號隔開

var obj = {
    user: 'yoyo',
    tel: "123456",
    age: 22,
    like: ["python", 'java'],
    info: {
        "email": "[email protected]",
        "address": "上海市"
    }
}
console.log(obj)

屬性用字串,一般不需要加引號,對應的值可以是任意型別。Object 物件屬性的值也可以是另外一個object,如info 對應的值{ "email": "[email protected]", "address": "上海市"}

當使用console.log() 輸出的時候,發現是按屬性的首字母a-z輸出的。

也可以使用new Object 建立物件

var person = new Object;
console.log(person);
    
// 新增屬性
person.user = 'yoyo';
person.age = 22;
console.log(person);

new 宣告變數型別

var 在宣告一個變數的時候,可以是任意型別

var x;

可以在宣告變數的時候,使用new 宣告具體的資料型別變數。

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;