Цитата: 
	
  | 
	
		
 Цитата: 
	
 Цитата: 
	
 
alert(("a" + "b") + "c" === "a" + ("b" + "c")); // true, поскольку ассоциативность выполняется
alert((1 + 2) + 3 === 1 + (2 + 3)); // true, поскольку ассоциативность выполняется
alert((1 + 1) + "1" === 1 + (1 + "1")); // false, вы конечно можете и тут подобрать true, но тут разные типы, это плохая практика — отстреливать себе ноги и играть с мухой без головы, понапихают разного рандомного говна в операнды, а потом сидят и задают тупые вопросы, типа а почему там нет ассоциативности!
Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 Цитата: 
	
 В нем ничего не говорится, что если типы одинаковы, то есть ассоциативность, а если разные то ассоциативности нет... Просто есть алгоритм, как выполняется операция с учетом возможных типов  | 
	
		
 Цитата: 
	
 Но про ассоциативность в программировании просто говорить бессмысленно. Так же, как и про коммутативность. a+(b+c) == (a+b)+c ? a+b == b+a ? Когда как. Мы же не знаем, что такое а, b, c. А может быть это вызовы функций с побочным эффектом? Просто есть правила выполнения операций. a * b Вычисли а, приведи к числовому типу Вычисли b, приведи к числовому типу (именно в такой последовательности, а не наоборот) Результаты арифметически перемножь  | 
	
		
 Цитата: 
	
  | 
	
		
 Malleys всё чётко объяснил, зачем это мозгоблудие? И приоритет есть для операндов и ассоциативность. Все дело именно в применение toBoolean. для js оно такое. Возможно что-то похожее есть и в др. языках. Давайте закруглять тему. 
	 | 
| Часовой пояс GMT +3, время: 16:39. |