점3개는 그냥 괄호벗겨주세요라는 자바스크립트 문법이고
return 뒤에는 변수만 쓸 수 있는게 아니라 아무자료나 작성가능합니다
예제 코드는
var state = { number : 0, diff : 1 }
return { ...state, diff : action.diff }
이렇게 되어있는데
점3개는 그냥 괄호벗겨주라는 소리기 때문에
return { number : 0, diff : 1, diff : action.diff }
이거랑 똑같습니다
근데 object 자료형에서 diff 저런 key 값이 중복으로 출현하면 뒤에있는걸 우선으로 적용시켜줍니다
return { number : 0, diff : action.diff }
그래서 실행결과는 이렇게 되겠네요
state를 카피본 만든 다음에 {diff : 1} 이었던걸 {diff : action.diff} 로 수정하고 그걸 return을 뱉어주세요~랑 똑같은 뜻입니다