在 JS 新增與刪除中有提到物件與純值這件事,
那在 JS 中物件有哪些?純值又有哪些呢?
常見的純值:
數字(Number),例如:1、2、3。
字符串(String),例如:”hello word”、”漂亮”。
布林值(Boolean),例如:true、false。
未定義(Undefined),例如:undefined。
空(Null),例如:null。
常見的物件:
- 普通物件(Object):
let person = {
name: "Alice",
age: 30};
數組(Array):
let fruits = ["apple", "banana", "cherry"];
函數(Function):
function greet(name) { return "Hello, " + name + "!";}
日期(Date):
let now = new Date();
正則表達式(RegExp):
let pattern = /hello/;
錯誤類型(Error):
let error = new Error("Something went wrong");
數學(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 會,因為變數不能被刪除屬性可以。