Identifier declaration rules in the language correspond to the rules of the Unicode Standard Annex 15 excluding the following: the underline character or "@" can be used as the initial identifier symbol if the identifier matches the keyword.
NOTE. Not more than one "_" or "@" character can be used as initial symbol.
identifier:
identifier-start-character identifier-part-charactersopt
identifier-start-character:
letter-character
_ (the underscore character U+005F)
identifier-part-characters:
identifier-part-character
identifier-part-characters identifier-part-character
identifier-part-character:
letter-character
decimal-digit-character
connecting-character
combining-character
formatting-character
letter-character:
A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl
A unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl
combining-character:
A Unicode character of classes Mn or Mc
A unicode-escape-sequence representing a character of classes Mn or Mc
decimal-digit-character:
A Unicode character of the class Nd
A unicode-escape-sequence representing a character of the class Nd
connecting-character:
A Unicode character of the class Pc
A unicode-escape-sequence representing a character of the class Pc
formatting-character:
A Unicode character of the class Cf
A unicode-escape-sequence representing a character of the class Cf
For information on character classes used in the declaration, see The Unicode Standard, Version 3.0, section 4.5.
Two identifiers are considered to be equal if they are identical after applying the following transformations:
All Unicode escape sequences are transformed into their corresponding Unicode character.
Any formatting-characters are removed.
Identifiers starting with two consecutive underscore characters are reserved for use by the language implementation.
See also: