声明与JavaScript中存在的数据类型同名的类

声明与JavaScript中存在的数据类型同名的类,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,因此,我正在开发一个带有React和WebPack的网站(不知道这是否是相关信息),在网站的设计中,有一个符号的概念,可能是数字或图像。我制作了一个类(react组件),它接受一个数字或一个图像的名称,并对其进行渲染。 我把这个类称为符号。 我的同事刚刚告诉我(我不知道),JavaScript中已经有一个名为symbol的数据类型 我的问题是,;定义与现有数据类型同名的类是一个大问题吗?web pack的情况如何?类名称空间如何?该符号是一种新的ES2015类型。虽然您可能不想在项目中使用它,但

因此,我正在开发一个带有React和WebPack的网站(不知道这是否是相关信息),在网站的设计中,有一个符号的概念,可能是数字或图像。我制作了一个类(react组件),它接受一个数字或一个图像的名称,并对其进行渲染。 我把这个类称为符号。 我的同事刚刚告诉我(我不知道),JavaScript中已经有一个名为symbol的数据类型


我的问题是,;定义与现有数据类型同名的类是一个大问题吗?web pack的情况如何?类名称空间如何?

该符号是一种新的ES2015类型。虽然您可能不想在项目中使用它,但通常最好不要覆盖任何内置构造函数、方法或属性。同样的情况也适用于扩展数组或数字。最好避免使用该名称。

该符号是一种新的ES2015类型。虽然您可能不想在项目中使用它,但通常最好不要覆盖任何内置构造函数、方法或属性。同样的情况也适用于扩展数组或数字。最好避免使用该名称。

如果您将某个名称命名为与已经存在的“类型”相同的名称,那么您实际上只是在为代码重写它

例如,如果我这样做:

let Array = function() {}
现在,当我尝试执行
newarray(1,3,4)
时,我只会得到我的新
Array
对象,而不是浏览器定义的数组


因此,一般来说,覆盖常规浏览器功能不是一个好主意,因为它可能会在您可能正在使用的其他脚本和库中导致意外后果。

如果您将某个名称命名为与已存在的“类型”相同的名称,那么您实际上只是在为代码重写它

例如,如果我这样做:

let Array = function() {}
现在,当我尝试执行
newarray(1,3,4)
时,我只会得到我的新
Array
对象,而不是浏览器定义的数组

因此,一般来说,覆盖常规浏览器功能不是一个好主意,因为它可能会在您可能正在使用的其他脚本和库中导致意外后果