Javascript';未定义';声明与常量匹配的默认函数参数时出错?

Javascript';未定义';声明与常量匹配的默认函数参数时出错?,javascript,parameters,syntax-error,constants,Javascript,Parameters,Syntax Error,Constants,刚刚发现了一些奇怪的错误,内容如下: Uncaught ReferenceError: symbol is not defined 有关守则: const symbol='tNEOUSD'; function get_position(symbol=symbol){ console.log(symbol); } get_position(); 为什么它没有定义?真奇怪 另一方面,如果我使用不同的参数名称,它就可以正常工作: const symbol='tNEOUSD'; functi

刚刚发现了一些奇怪的错误,内容如下:

Uncaught ReferenceError: symbol is not defined
有关守则:

const symbol='tNEOUSD';
function get_position(symbol=symbol){
    console.log(symbol);
}
get_position();
为什么它没有定义?真奇怪

另一方面,如果我使用不同的参数名称,它就可以正常工作:

const symbol='tNEOUSD';
function get_position(sym=symbol){
    console.log(sym);
}
get_position();

有人知道为什么会发生这种情况吗?

您不能使用已在外部声明为参数的变量

在调用函数时,将对默认值进行求值,并在范围内使用参数(包括参数本身)。有点像写
让x=5;{let x=x;}
。该消息似乎指以前在会话中使用过
const-symbol
let-symbol
。那幅画中的代码是独立的。@ZMXX请