2011-01-07 11 views
21
var obj = { 
    'foo' : 'bar', 
    'something very, very, very, very long' : 'baz' 
}; 

プロパティ名の長さに制限はありますか?javascriptプロパティの長さの制限はいくらですか?

+6

私はちょうど100万人以上の文字1つで作成しようとしました。クロムでうまくいった。私が限界に達すると、あなたが投稿してくれるでしょう:) –

+0

@David LOL!それはいいね。 – Stephen

+1

@David、それを答えに入れると、私はあなたにチェックマークを付けます。 – sprugman

答えて

20

私の簡単な実証研究から、少なくともChromeで実装されていない限り、javascriptによる制限はありません。これは単に、アプリケーションがクラッシュする前にマシンがスクリプトエンジンをどれだけ消費できるかという問題です。

私のテストでは、268 435 456文字のロングネームのプロパティを含むオブジェクトを作成することができましたが、536 870 912で再度試してみると、ブラウザがクラッシュしました。

スレッシュホールドがどこよりも高いかどうかは、それがそこにある制限がマシンの容量によって完全に課せられることを証明するはずですスペックよりも。

ああ、および67 108 864文字で、私はプロパティを割り当てるときにパフォーマンスの問題に気づき始めた:)

+2

仕様書には識別子の長さに制限が含まれていないので、単に実装定義であると考えています。 – ChaosPandion

関連する問題