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>
当脚本执行时,它将生成一个输出,其中包含函数的类型,该输出显示在触发脚本执行的事件上的web页面上。
示例
考虑以下示例,这里我们使用对象类型来创建新数据类型,并且在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("ticTacToe是Game类的对象: " + (ticTacToe instanceof Game) + " < br > ");
document.write("ticTacToe的数据类型是: " + dataTypeBelongsTo(ticTacToe) + " < br > ");
document.write("Candy Cash的数据类型是: " + dataTypeBelongsTo("Cady Cash"))
</script>
</body>
</html>
运行上述代码后,输出窗口将弹出,触发事件并在网页上显示一个数据类型。