chris chen

@ChrisChenTW

Joined on Jul 17, 2024

  • [[Prototype]] 又是什麼? 和 proto 的差別是什麼? [[Prototype]] 是在 JavaScript 中物件的特殊隱藏屬性,這個屬性對應到的就是該物件的原型,但因[[Prototype]] 為內部屬性無法直接訪問到,因此可以透過__proto__、Object.getPrototypeOf()的訪問原型 //Person 是一個建構函式 function Person(name) { this.name = name; console.log(this); } //透過 Person 建構函式,創建了一個 ming 物件 const ming = new Person("小明");
     Like  Bookmark
  • 🔹 this 是什麼? this 是 JavaScript 中的一個關鍵字,它的值通常根據呼叫方式決定。箭頭函式例外,它在定義時就繼承外層的 this。 判斷 this 的 簡易版 箭頭函式 → 定義時繼承外層 this 普通函式 → 呼叫時決定 this 物件呼叫 ➔ 指向物件 直接呼叫 ➔ window / undefined(看嚴格模式) 🧭 this 的指向規則總覽
     Like  Bookmark
  • 物件傳參考特性 陣列、函式、物件、日期都屬於物件型別 物件型別屬於傳參考 const person = { name: "小明", }; const person2 = person; person2.name = "漂亮阿姨"; //漂亮阿姨
     Like  Bookmark
  • 隱性轉換(Implicit Type Conversion) JavaScript 在進行運算時,經常會自動將變數轉型。這一節整理常見隱性轉型的規則 +運算子 規則一:前後運算元如果其中之一為 “字串” 型別,+ 視為字串運算子 規則二:前後運算元如果無法轉型為原始型別(就是指物件型別),+ 視為字串運算子。 規則三:上述情況以外,+ 視為算數運算子。 規則一:前後運算元如果其中之一為 “字串” 型別,+ 視為字串運算子。
     Like  Bookmark
  • 閉包 閉包使可以從內部函式訪問外部函式的作用域的變數 閉包的作用:重複調用 獨立變數 隱藏變數 這個例子中,匿名函式會存取外部函式中的 originPrice,並保存其狀態。當呼叫 breadPrice 時,會以 originPrice 為基礎計算回傳值: function discountTool(price) { const originPrice = price;
     Like  Bookmark