Отрицательные свойства у объекта 
		
		
		
		Приветствую. 
	Допустимо ли задавать отрицательные свойства тому или иному объекту? К примеру: 
var obj = {-1:"a",-2:"b",-3:"nnn"}
Если да, то нужно ли отрицательные цифры обрамлять кавычками или нет?  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 
var obj = {'-1':"a",'-2':"b",'-3':"nnn"};
alert(obj['-1']);
 | 
	
		
 ksa, 
	Я проверял, но я просто боюсь, что это может быть не по стандарту и, например, не работать в более менее старых браузерах. Почему то у меня запись без кавычек (в хроме) не дает ошибки. То есть, выходит что отрицательные имена свойствам допустимы?  | 
	
		
 Цитата: 
	
  | 
	
		
 ksa, 
	Какая версия оперы? Вебкит? Именно без кавычек выдает ошибку? А с кавычками нормально?  | 
	
		
 Цитата: 
	
 Информация о версии Версия: 12.17 Сборка: 1863 Платформа: Win32 Система: Windows 7 Цитата: 
	
 Цитата: 
	
  | 
	
		
 Собственно, обращаться-то можно и без кавычек: 
	
var test = { "-1": -1, "[object Object]": {} };
test[-2] = -2;
alert([   test[-1], test[-2], test[{}]   ]);
 | 
	
		
 Ключи объекта всегда строки. При обращении через квадратные скобки любая не-строка будет приведена к строке. Вот и всё. 
	 | 
	
		
 Кстати, пустая строка - тоже строка,  и может быть ключом: 
	
var obj = {'': 'yes'};
alert(obj['']);
 | 
| Часовой пояс GMT +3, время: 14:52. |