在 JavaScript 中可以建立新的資料型別嗎?


本文將探討在 JavaScript 中建立新的資料型別是否可行。例如,假設我們有一個名為 student 的變數:

var student = "username"
console.log(typeof student)

現在,我想宣告該變數的型別並在輸出中打印出來,它將如下所示:

Output:"string"

讓我們深入瞭解本文,學習更多關於在 JavaScript 中建立新的資料型別的知識。

是的,在 JavaScript 中可以建立新的資料型別,可以使用 Class 的概念。如果要檢查實際的資料型別,可以使用 **instanceof** 運算子。

JavaScript 中的類作為構建事物的模型。程式碼用於封裝和操作資料。JS 中的類基於原型,但它們也包含一些與 ES5 類不同的語法和語義。

instanceof 運算子說明資料型別。以下 JavaScript 程式碼示例簡要說明了如何建立新的資料型別以及如何檢查資料型別。這裡,我將提供自定義實現來檢查資料型別。

為了更好地理解如何在 JavaScript 中建立新的資料型別,讓我們來看下面的例子。

示例

在下面的例子中,我們使用 **instanceof** 運算子執行指令碼以檢查函式的型別。

<!DOCTYPE html>
<html>
   <body>
      <script>
         class car {
            constructor(color, old) {
               this.color = color;
               this.old = old;
            }
         }
         const value = new car("value", 400);
         function checkType(data) {
            if (data instanceof car) return "car";
            return typeof data;
         }
         document.write(checkType(value) + " < br > ");
         document.write(checkType("value") + " < br > ");
      </script>
   </body>
</html>

當指令碼執行時,它將生成一個輸出,其中包含顯示在網頁上的函式型別,該型別是由執行指令碼時觸發的事件觸發的。

示例

考慮下面的例子,這裡我們使用 Object 型別來建立一個新的資料型別,並檢測 JavaScript 中的資料型別。

<!DOCTYPE html>
<html>
   <body>
      <script>
         function Student() {}
         const student = new Student()
         const getObjTag = (obj) => Object.prototype.toString.call(obj).slice(8, -1)
         document.write(getObjTag([]) + " < br > ")
         document.write(getObjTag(new Set([])))
      </script>
   </body>
</html>

執行上述指令碼後,輸出視窗將彈出,在網頁上顯示透過執行指令碼時觸發的事件獲得的資料型別。

示例

讓我們看看下面的指令碼,我們執行指令碼以獲取 JavaScript 中的資料型別。

<!DOCTYPE html>
<html>
   <body>
      <script>
      class Car {
         constructor(color, model, price) {
            this._color = color;
            this._model = model;
            this._price = price;
         }
         info() {
            return `The color of the car is ${this._color} and, its model is ${this._model}. It costs arround ${this._price}`
         };
      };
      const car = new Car("black", 2022, "4cr");
      document.write(car.info(), " < br > ")
      document.write("Type of the object: ", typeof car)
      </script>
   </body>
</html>

當指令碼執行時,事件被觸發並在網頁上顯示文字和資料型別。

示例

執行以下程式碼,觀察如何在 JavaScript 中建立新的資料型別。

<!DOCTYPE html>
<html>
   <body>
      <script>
         class Game {
            constructor(gameName) {
               this.gameName = gameName;
            }
         }
         const ticTacToe = new Game("TicTacToe");
         function dataTypeBelongsTo(object) {
            if (object instanceof Game) return "Game";
            return typeof object;
         }
         document.write("The ticTacToe is the object of Game class: " + (ticTacToe instanceof Game) + " < br > ");
         document.write("The data Type of ticTacToe is: " + dataTypeBelongsTo(ticTacToe) + " < br > ");
         document.write("The data Type Candy Cash is: " + dataTypeBelongsTo("Cady Cash"))
      </script>
   </body>
</html>

執行上述指令碼後,輸出視窗將彈出,觸發事件並在網頁上顯示資料型別。

更新於:2023年4月21日

2K+ 瀏覽量

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.