更新於 2024/05/29閱讀時間約 5 分鐘

Javascript入門-Day4:資料型別

內建型別

JavaScript 中有七種內建基本型別和一種物件型別:

基本型別

  1. Undefined:表示未定義的值。變量聲明後但未賦值時,值為 undefined
    let a;
    console.log(a); // undefined
  2. Null:表示空或不存在的值,是一個唯一的值。
    let b = null;
    console.log(b); // null
  3. Boolean:表示布林值,可以是 truefalse
    let isTrue = true;
    let isFalse = false;
  4. Number:表示數字,包括整數和浮點數。
    let num = 42;
    let pi = 3.14;
  5. String:表示字符串,可以用單引號或雙引號括起來。
    let str1 = 'Hello';
    let str2 = "World";
  6. Symbol:表示唯一的標識符,通常用於物件屬性的鍵。
    let sym = Symbol('unique');
  7. BigInt:表示任意精度的整數。
    let bigInt = 1234567890123456789012345678901234567890n;

物件型別

  1. Object:表示複合數據結構,包含屬性和方法。
    let obj = {
    name: 'Alice',
    age: 30
    };

型別轉換

JavaScript 支持隱式和顯式的型別轉換。

隱式轉換

JavaScript 會在需要的時候自動進行型別轉換。

let x = '5' + 5; // '55',數字轉為字符串
let y = '5' * 2; // 10,字符串轉為數字

顯式轉換

可以使用內建函數進行顯式轉換。

let num = Number('123'); // 字符串轉為數字
let str = String(123); // 數字轉為字符串
let bool = Boolean(1); // 數字轉為布林值

自訂型別

JavaScript 不支持傳統意義上的類型定義,但可以使用物件和函數來模擬類和類型。

使用函數創建自訂型別

function Person(name, age) {
this.name = name;
this.age = age;
}

let alice = new Person('Alice', 30);

使用 ES6 類創建自訂型別

class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}

let bob = new Person('Bob', 25);

元組型別

JavaScript 沒有內建的元組型別,但可以使用陣列來模擬元組。

let tuple = ['Alice', 30];
let name = tuple[0];
let age = tuple[1];

集合型別

Set 是一種集合數據結構,存儲不重複的值。

let set = new Set();
set.add(1);
set.add(2);
set.add(1); // 不會添加重複的值

console.log(set.has(1)); // true
console.log(set.size); // 2

陣列型別

陣列是一種用來存儲有序數據的集合。

let arr = [1, 2, 3, 4, 5];
console.log(arr[0]); // 1
arr.push(6);
console.log(arr.length); // 6

字典型別

JavaScript 的 ObjectMap 可以用作字典。

Object 作為字典

let dict = {
name: 'Alice',
age: 30
};

console.log(dict['name']); // Alice
console.log(dict.age); // 30

Map 作為字典

Map 是一種鍵值對集合,任何類型的值都可以作為鍵。

let map = new Map();
map.set('name', 'Alice');
map.set('age', 30);

console.log(map.get('name')); // Alice
console.log(map.has('age')); // true
console.log(map.size); // 2

這些章節涵蓋了 JavaScript 中的各種型別和相關操作,為理解和使用 JavaScript 提供了基礎知識。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.