“参数”是否应该在标识符的保留字列表中?

用户名

保留关键字列表不包含“参数”。应该吗 我不知道如何将“参数”用作标识符。

TJ人群

在JavaScript中(不是TypeScript),有一些类关键字(甚至是实际关键字)不是保留字;细节在这里arguments不是关键字,它是传统函数(使用function关键字的函数)和方法(在类或对象常量中使用方法语法声明)中的隐式声明的绑定(如变量)。这意味着您可以对其进行阴影处理,在尚不存在的上下文中进行声明,等等。

我不知道如何将“参数”用作标识符。

可以,但只能在宽松模式下。这里有些例子:

// Arguments isn't implicitly declared outside traditional
// functions and methods
const arguments = 1;
console.log(arguments);     // 1
try {
    arguments = 1.5;
} catch (e) {
    console.log(e.message); // "Assignment to constant variable." (or similar)
}

const fn = () => {
    // Arrow functions don't have an `arguments` identifier declared for them
    let arguments = 2;
    console.log(arguments); // 2
};

fn();

function fn2() {
    if (true) {
        // Shadows the function-wide `arguments` only within this block
        let arguments = 3;
        console.log(arguments); // 3
    }
    // This uses the implicit `arguments` for the function
    console.log(arguments.length); // 0
}

fn2();

在严格模式下无效,在严格模式下对arguments(和eval的使用受到限制从上面的链接:

名称argumentseval不是关键字,但是它们在严格模式代码中受到一些限制。参见12.1.112.1.314.1.214.4.114.5.114.7.1

这些不同的链接部分放在一起,基本上意味着arguments(和eval)不能用作标识符。

不是保留字的其他关键字或类似关键字的内容:

  • let并且const仅是标识符之前的关键字。
  • async只是function方法声明之前或之前的关键字否则,它是可接受的标识符。
  • await只是async函数中的关键字在严格模式下,它是保留字,但在松散模式下,它不是保留字,其他几个也是如此。
  • yield只是生成器函数中的一个关键字。也以严格模式保留。
  • NaNundefinedInfinity,和其他人是只读的全局对象的属性,而不是关键字。
  • import并且export仅是模块中的关键字。

我确定该清单不完整。:-)

这是不断发展的,不断扩展的语言的本质,该语言保持了近100%的向后兼容性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

componentDidMount是否应该在酶中以浅层渲染运行?

是否应该在实现中添加Javadoc注释?

如何检查以前的月份列表中是否存在标识符

我应该在构造函数中验证参数吗?

您应该在Java / C#中使用国际标识符吗?

是否应该在UI线程中调用findviewbyid?

当子类在构造函数中初始化时,是否应该在超类的声明中保留字段初始化?

Haskell Megaparsec-保留字解析为标识符

您可以在TSQL中引用变量标识符和参数标识符吗?

是否应该在lambda中通过const引用捕获?

是否应该在PWA中缓存ServiceWorker文件?

是否应该在Java中引用Object类?

这个Java项目如何使用语言保留字作为标识符?

我应该在哪里保留全局参数?

标识符列表与C中的参数类型列表

如果小工具是由参数组合标识的,那么我是否应该在数据库中的所有位置都拥有所有参数,或者只有一次?

我真的应该在C#中使用Pascal几乎所有公共标识符吗?

我是否应该在PHP中包含HTML

grunt-closure-tools:错误-解析错误。标识符是保留字

Swift中的可选参数标识符

Javascript:如果“抽象”是保留字,为什么我仍然可以将其用作标识符?

是否应该在可变参数函数中的省略号(...)之前直接声明count参数?

您是否应该在FormClosing事件中处置项目?

Java保留字作为标识符

如何在Informix中转义用作标识符的保留字

是否应该在包装好的宝石中包含测试?

当标识符不是保留字或带空格时,为什么必须使用BACKTICKS?

私有 REST 端点是否应该在错误消息中显示参数名称?

WPF - OpenFileDialog 是否应该在 ViewModel 中