首页 > 解决方案 > ES6 js 关键字作为参数精确行为

问题描述

我有一个代码,预计会返回“未定义”或任何错误,但它会提供上述输出。

let i = (x, c) => {
    c(x);
};

i(20, (undefined) => {
    let j = undefined;
    console.log(j);
});


function y(undefined) {
    let a = undefined;
    console.log(a);
}
y(90);

如果在函数参数中使用保留字如何工作并改变行为?

标签: javascriptnode.jsecmascript-6

解决方案


undefined不是保留字。

它是一个全局的只读变量。

没有什么能阻止您在更窄的范围内定义另一个具有相同名称的变量。


推荐阅读