有大佬知道这里参数后面跟个问号是啥意思啊,是写错了吗,还是可选啊
const getTable = (pa?) => {
}
有大佬知道这里参数后面跟个问号是啥意思啊,是写错了吗,还是可选啊
const getTable = (pa?) => {
}
在 JavaScript 中,函数参数后面的问号 ?
并不是 JavaScript 语言规范的一部分,也不表示参数是可选的。在 JavaScript(ES6 及以前版本)中,直接在参数后面添加 ?
是不合法的语法,会导致语法错误。
然而,你看到的 pa?
可能是某种笔误或者是对 TypeScript 中可选参数语法的误解。在 TypeScript 中,问号 ?
可以用在函数参数后面来标记该参数是可选的,但在原生 JavaScript 中则不支持这样的语法。
在 TypeScript 中,你可以这样定义一个可选参数:
function getTable(pa?: any) {
// ...
}
这里的 pa?: any
表示 pa
是一个可选参数,调用 getTable
时可以不提供这个参数。
在原生 JavaScript 中,如果你想模拟可选参数的行为,你可以通过为参数提供一个默认值来实现:
const getTable = (pa = undefined) => {
// 如果 pa 未被提供,它将是 undefined
// ...
}
或者使用函数体内部的逻辑来处理未提供的参数:
const getTable = (pa) => {
if (pa === undefined) {
// 处理 pa 未被提供的情况
}
// ...
}
在 JavaScript 中,参数后面的 ?
是不合法的语法。如果你看到这样的代码,它可能是对 TypeScript 语法的误解或笔误。在 TypeScript 中,?
用于标记可选参数。在原生 JavaScript 中,你应该通过为参数提供默认值或函数体内的逻辑来处理可选参数的情况。
写错了 没写全
ts代码的话要写成下面这样 意为pa是可选参数
const getTable = (pa?: number) => {
}
js的话要写成下面这样
const getTable = (pa) => {
}
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
可选参数
https://www.typescriptlang.org/docs/handbook/2/functions.html...