за код - спасибо. про defineProperty по крайней мере - не знал.
но не знаю, мож я плохо объясняю. у меня нет проблем с функцией, которая делает это:
	
	| 
		
			 Цитата: 
		
	 | 
	| 
		{a:1, b:2, s:3}.k_string() => 'a=1 b=2 c=3'
	 | 
	
там 6 строчек, включая скобки. вложенных массивов в моем конкретном случае не будет.
проблема, повторю еще раз, в том, что, похоже, что нет возможности использовать одновременно ключ хеша и одноименную функцию:
console.log({a:1, b:2, dump: 3}.dump());
	
	| 
		
			 Цитата: 
		
	 | 
	
		Uncaught exception: TypeError: '{a:1, b:2, dump: 3}.dump' is not a function 
 
Error thrown at line 54, column 0 in http://ifube.us/js/ifube.js?v=0.06: 
    console.log({a:1, b:2, dump: 3}.dump());
	 | 
	
и эта проблема - как видите, осталась, как бы ни был прекрасен (без иронии говорю) джаваскрипт в остальном. это относится, кстати и к встроенным функциям, типа toString.