我想在我的var上设置javascript数据类型。例如:
var friends = {
name: String(),
age: Number(),
classmate: Boolean()
};是这样的吗?它可以在浏览器上工作。但我不能肯定。因为,下面的也是有效的。
var friends = {
name: '',
age: 0,
classmate: false
};我想知道这些是对还是错,是好是坏。
发布于 2016-02-12 13:31:15
这两种方法都是对的,但正确的方法是先赋值类型,在执行脚本时严格遵循赋值给变量的初始时间。
发布于 2016-02-12 13:31:36
Javascript是一种弱类型语言,因此它对您没有任何帮助。您不需要声明变量的类型,并且在初始化变量时指定类型不会获得任何保护。如果您需要强类型,我会考虑使用TypeScript;否则,我会喜欢不用处理它们。
发布于 2016-02-12 14:11:04
首先,javascript变量和属性是动态的-它们可以接受任何数据类型的任何值。你在你的例子中实际做的是某种类型的转换。
var friends = {
index1: Number("12"),
index2: String("12")
};

初始化变量是好事还是坏事,这种方式真的取决于你的需求。如果您想要确保每个变量的值在整个作用域中都是一致的(并防止任何异常或不想要的结果),那么我想这对您来说是一个很好的实践。
以此为例。
var sum = friends.index1 + friends.index2;
console.log(sum);结果是"1212“而不是24。希望这对你有意义。
还有其他方法可以确保值是您期望的类型。你可以使用typeof来检查它。这样,您就不必在变量初始化期间强制转换或“指定”数据类型。
if( typeof friends.index1 == "number" ) ...https://stackoverflow.com/questions/35355428
复制相似问题