Javascript redux中的命名变量过滤器语法

Javascript redux中的命名变量过滤器语法,javascript,redux,Javascript,Redux,我刚刚学习完javascript和typescript(我知道redux不是typescript),但被redux过滤器的语法弄糊涂了: function visibilityFilter(state = 'SHOW_ALL', action) { ... } 我在javascript中似乎看到了默认变量,但只有当默认变量位于位置变量之后时。这是怎么回事?有人能给我指一下解释这种语法的文档吗?基本上这意味着reducer希望收到一个动作,但如果第一个参数是未定义的,则使用默认值 函数缩

我刚刚学习完javascript和typescript(我知道redux不是typescript),但被redux过滤器的语法弄糊涂了:

function visibilityFilter(state = 'SHOW_ALL', action) {
   ...
}

我在javascript中似乎看到了默认变量,但只有当默认变量位于位置变量之后时。这是怎么回事?有人能给我指一下解释这种语法的文档吗?

基本上这意味着reducer希望收到一个动作,但如果第一个参数是
未定义的,则使用默认值

函数缩减器(状态='initial',action){
如果(action.type==='change'){
返回“新”;
}
返回状态;
}
console.log(
'使用给定的初始状态:',
减速机('what',{})
);
console.log(
'null也被视为给定状态:',
减速器(空,{})
);
console.log(
'如果第一个参数未定义,则使用默认状态:',
减速器(未定义,{})
); 
const myServerState=未定义;
console.log(
'传递未定义的可能不那么明显:',
还原程序(myServerState,{})
);
//抛出错误,因为操作未定义

log(reducer({type:'change'}))
基本上,这意味着reducer希望接收一个操作,但如果第一个参数是
未定义的
,则使用默认值

函数缩减器(状态='initial',action){
如果(action.type==='change'){
返回“新”;
}
返回状态;
}
console.log(
'使用给定的初始状态:',
减速机('what',{})
);
console.log(
'null也被视为给定状态:',
减速器(空,{})
);
console.log(
'如果第一个参数未定义,则使用默认状态:',
减速器(未定义,{})
); 
const myServerState=未定义;
console.log(
'传递未定义的可能不那么明显:',
还原程序(myServerState,{})
);
//抛出错误,因为操作未定义

log(reducer({type:'change'}))哇。。。从python提交时,没有“未定义的”,所以这永远不会起作用。太奇怪了!我想在
js
中,这是可行的,谢谢!在JS中,当处理参数
未定义时
通常会告诉您用户没有传递任何内容。如果您有一个函数
sum(a,b){…}
并调用
sum(a)
,那么b将是未定义的。因为JS不是静态类型,所以允许=D。。。。幸好你用的是TS,干杯。哇。。。从python提交时,没有“未定义的”,所以这永远不会起作用。太奇怪了!我想在
js
中,这是可行的,谢谢!在JS中,当处理参数
未定义时
通常会告诉您用户没有传递任何内容。如果您有一个函数
sum(a,b){…}
并调用
sum(a)
,那么b将是未定义的。因为JS不是静态类型,所以允许=D。。。。幸好你用的是TS,干杯。