首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否设置函数参数的类型?

是否设置函数参数的类型?
EN

Stack Overflow用户
提问于 2011-12-07 06:13:53
回答 13查看 232.8K关注 0票数 221

有没有办法让javascript函数知道某个参数是某个类型的?

能够做这样的事情将是完美的:

function myFunction(Date myDate, String myString)
{
    //do stuff
}

谢谢!

更新:由于答案是响亮的“否”,如果我希望myDate被视为日期(为了在其上调用日期函数),我必须将其转换为函数中的日期,或者将其设置为date类型的新变量?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2011-12-07 06:16:27

不,JavaScript不是一种静态类型的语言。有时,您可能需要手动检查函数体中的参数类型。

票数 232
EN

Stack Overflow用户

发布于 2011-12-07 06:22:14

不是javascript本身,而是Google Closure Compiler的高级模式,你可以这样做:

/**
 * @param {Date} myDate The date
 * @param {string} myString The string
 */
function myFunction(myDate, myString)
{
    //do stuff
}

请参阅http://code.google.com/closure/compiler/docs/js-for-compiler.html

票数 144
EN

Stack Overflow用户

发布于 2015-07-15 10:53:56

虽然您不能将有关类型的语言告知JavaScript,但您可以将它们告知您的集成开发环境,因此您可以获得更有用的自动完成。

这里有两种方法:

  1. 使用JSDoc,这是一个在注释中记录JavaScript代码的系统。特别是,您将需要@param directive

/** *@参数{日期} myDate -日期*@参数{字符串} myString -字符串*/函数myFunction(myDate,myString) { // ... }

您还可以对define custom types使用JSDoc,并在@param指令中指定它们,但请注意,JSDoc不会执行任何类型检查;它只是一个文档工具。若要检查JSDoc中定义的类型,请查看TypeScript,它可以通过在

/* comment */

这是一种相当广泛的技术,例如使用by ReactJS。传递给第三方库的回调参数非常方便。

TypeScript

对于实际的类型检查,最接近的解决方案是使用TypeScript,它是JavaScript的(mostly)超集。这是TypeScript in 5 minutes

票数 100
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8407622

复制
相关文章

相似问题

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