这是我正在谈论的示例:
有了 grunt,你就有了这个功能:
grunt.file.match([options, ] patterns, filepaths)
在文档中,他们说:
Both the patterns and filepaths argument can be a single string or array of strings.
那么,允许同一参数使用不同类型是一个好习惯吗?
最佳答案
简而言之,是的。在其他语言中,您可以使用不同的参数重载方法。在 javascript 中,你没有这种奢侈,但我们拥有的是弱类型声明。所以 javascript 并不关心你传递的内容,你的工作就是确保你的函数接受所有可能的参数。
编辑
正如 @jwatts1980 所建议的,您的函数应该足够灵活,可以处理任何潜在的参数。如果您有一个名为 name
的参数,您应该预期它偶尔会为 null
,并且您可能会收到一个 names
数组,在这种情况下,您可以选择迭代 names
(name
) 并执行您对一个 name
执行的任何操作。
关于javascript - 允许字符串或数组作为函数的参数是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636030/