[解決済み】なぜ◎ܫ◎と☺はJavaScriptの変数名として有効ではないのでしょうか?
質問
Internet Explorerでは(残念ながら私がテストした他のブラウザでは)、いくつかのユニコード変数名を使用できることに気づきました。これは私の一日の始まりで、このようにユニコードの入った楽しいコードを書けることに絶対の喜びを感じています。
var ктоείναι草泥马 = "You dirty horse.",
happy☺n☺mat☺p☺eia = ":)Yay!",
ಠ_ಠ = "emoticon";
alert(ктоείναι草泥马 + happy☺n☺mat☺p☺eia + ಠ_ಠ);
なぜか、ですが。
◎ܫ◎
,
♨_♨
と
☺
は有効な変数名ではありません。
なぜ
ಠ_ಠ
と
草泥马
は動作しますが
◎ܫ◎
,
♨_♨
と
☺
はないのですか?
EDIT: ブラウザでテストしてみましょう。 JSFiddle . Internet Explorer 9、Chrome、Firefox、Operaでテストしてみました。今のところ、Internet Explorer 9でのみ動作するようです。(Internet Explorer 8以下はわかりません。) 他のブラウザで動いたら教えてください。
解決するには?
ಠ_ಠ と草泥马は、実際のアルファベットで使われる文字だけを含んでいます。 の記号です。 カンナダ語のアルファベット 草泥马は中国語の文字で構成されています。
しかし、◎と☺は純粋な記号であり、どのアルファベットとも関連付けられていない。
は ECMAScript標準、7.6章 (Internet Explorerを除くすべてのブラウザが準拠しています)では、識別子は次のいずれかで始まる必要があるとされています。
- ユニコード文字
-
$
または_
-
\
の後にユニコードのエスケープシーケンスが続きます。
識別子の次の文字は、以下のいずれかでなければならない。
- 冒頭で許可された文字のいずれか
- Unicodeのコンバイニングマーク
- Unicodeの数字
- Unicodeコネクタ句読点
- ゼロ幅非ジョイナー
- ゼロ幅ジョイナー
IEは標準を超え、☺などいくつかの記号を許容する寛容さを備えています。
そこには ツール は、入力した文字列が ECMAScript 5.1 および Unicode 6.1 に従って有効な JavaScript 変数名であるかどうかを教えてくれます。
関連
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] Pythonの変数名や関数名の命名規則について教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み] テスト
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】TypeError:res.jsonは関数ではありません。
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]