JS 新增與刪除中有提到物件與純值這件事,

那在 JS 中物件有哪些?純值又有哪些呢?

常見的純值:

  1. 數字(Number),例如:1、2、3。

  2. 字符串(String),例如:”hello word”、”漂亮”。

  3. 布林值(Boolean),例如:true、false。

  4. 未定義(Undefined),例如:undefined。

  5. 空(Null),例如:null。

常見的物件:

  1. 普通物件(Object):

    let person = {
    name: "Alice",
    age: 30};
  1. 數組(Array):

    let fruits = ["apple", "banana", "cherry"];

  2. 函數(Function):

     function greet(name) {
    
       return "Hello, " + name + "!";}
  3. 日期(Date):

    let now = new Date();
  4. 正則表達式(RegExp):

    let pattern = /hello/;

  5. 錯誤類型(Error):

    let error = new Error("Something went wrong");

  6. 數學(Math):

    let pi = Math.PI; // 3.141592653589793
    
           let squareRoot = Math.sqrt(16); // 4

物件可以賦予給屬性,純值不能給予屬性。

舉個例子:陣列是一種物件,因此可以被賦值。值可以是字串,也可以是陣列。

然而字串是純值的一種,他沒有辦法被賦值。

      let myArray = [1, 2, 3, 4];
    myArray.sayHello = ["你好"];
    myArray.sister = "Kim";
    console.log(myArray);

    let newString = "哈哈";
    newString.new = "完蛋了";
    console.log(newString);
結果顯示,陣列裡出現了陣列Array: sayHello與字串String:sister。

而 newString 沒有辦法被賦值因此執行結果還是只有哈哈的字串。


function car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
dadsCar = new car("Nissan", "300ZX", 2001);
myCar = new car("Mazda", "Miata", 2022);

console.log(dadsCar, myCar);

利用 new 來建立新的物件 dad's car 還有 my car,利用 new 方法實體化的物件是一個全新的物件。

兩台車有一樣的屬性,但是值不一樣。

碎碎念: 1.在 JS 物件 this 是用來把傳送給函數的值代入給物件的屬性。。
2.let a = 1; b = 2;這是宣告一個變數 a 為 2,而 b=2 和 window.b = 2 在全域下都是賦值給 b 為 2。 3.承 2 delete a; delete b;結果 a 不會被刪除 b 會,因為變數不能被刪除屬性可以。