在 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.