为什么在javascript中保留'@'符号,它的目的是什么? [英] Why is the '@' symbol reserved in javascript and what is its purpose?

查看:86
本文介绍了为什么在javascript中保留'@'符号,它的目的是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var @foo = 'bar';
// SyntaxError: missing variable name.

{ '@foo' : 'bar' };
// SyntaxError: invalid label.

var obj = { '@foo' : 'bar' };
obj.@foo;
// TypeError: can't convert AttributeName to string

var obj = { '@foo' : 'bar' };
obj['@foo'];
// "bar"

任何人都可以向我解释为什么'@'符号是不允许在变量名中使用以及我应该使用它的是什么?

Can anyone explain to me why the '@' symbol is not allowed to be used in variable names and what I should be using it for?

推荐答案

这是它不是保留或特殊的,它只是一个有效的JavaScript标识符字符。出于同样的原因,这是有效的:

It's not reserved or special, it's just not a valid javascript identifier character. For the same reason this works:

var obj = { 'foo-baz' : 'bar' };
obj['foo-baz'];

这不是:

var obj = { 'foo-baz' : 'bar' };
obj.foo-baz;

有效的javascript标识符必须以字母或 $ ,并且可能只包含字母,数字, $ _ 。属性名称中的任何其他内容都会强制您使用括号表示法。

Valid javascript identifiers must start with a letter or $, and may only contain letters, numbers, $, and _. Anything else in a property name will force you to use bracket notation.

相关问题

这篇关于为什么在javascript中保留'@'符号,它的目的是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆