首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript上设置默认数据类型?

如何在javascript上设置默认数据类型?
EN

Stack Overflow用户
提问于 2016-02-12 13:27:31
回答 4查看 677关注 0票数 0

我想在我的var上设置javascript数据类型。例如:

代码语言:javascript
复制
var friends = {
  name: String(),
  age: Number(),
  classmate: Boolean()
};

是这样的吗?它可以在浏览器上工作。但我不能肯定。因为,下面的也是有效的。

代码语言:javascript
复制
var friends = {
  name: '',
  age: 0,
  classmate: false
};

我想知道这些是对还是错,是好是坏。

EN

回答 4

Stack Overflow用户

发布于 2016-02-12 13:31:15

这两种方法都是对的,但正确的方法是先赋值类型,在执行脚本时严格遵循赋值给变量的初始时间。

票数 0
EN

Stack Overflow用户

发布于 2016-02-12 13:31:36

Javascript是一种弱类型语言,因此它对您没有任何帮助。您不需要声明变量的类型,并且在初始化变量时指定类型不会获得任何保护。如果您需要强类型,我会考虑使用TypeScript;否则,我会喜欢不用处理它们。

票数 0
EN

Stack Overflow用户

发布于 2016-02-12 14:11:04

首先,javascript变量和属性是动态的-它们可以接受任何数据类型的任何值。你在你的例子中实际做的是某种类型的转换。

代码语言:javascript
复制
var friends = {
  index1: Number("12"),
  index2: String("12")
};

初始化变量是好事还是坏事,这种方式真的取决于你的需求。如果您想要确保每个变量的值在整个作用域中都是一致的(并防止任何异常或不想要的结果),那么我想这对您来说是一个很好的实践。

以此为例。

代码语言:javascript
复制
var sum = friends.index1 + friends.index2;
console.log(sum);

结果是"1212“而不是24。希望这对你有意义。

还有其他方法可以确保值是您期望的类型。你可以使用typeof来检查它。这样,您就不必在变量初始化期间强制转换或“指定”数据类型。

代码语言:javascript
复制
if( typeof friends.index1 == "number" ) ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35355428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档