기존 값에 계산 결과를 다시 저장하는 축약 문법을 배웁니다.
=은 오른쪽 값을 왼쪽 변수에 넣습니다. +=, -=, *=, /=는 현재 값과 계산한 뒤 다시 대입하며 ??=, ||= 같은 논리 대입도 있습니다.
total은 100에서 시작해 += 50으로 150이 되고, 곱셈 대입으로 두 배가 되어 300이 됩니다. nickname은 null이므로 ??= 연산자가 오른쪽의 익명을 대입하고, 그 결과 화면에는 합계 300, 이름 익명이 표시됩니다. nickname에 처음부터 문자열이 들어 있었다면 빈 문자열이라도 ??=는 아무것도 바꾸지 않습니다.
논리 대입은 필요할 때만 대입합니다. a ||= b는 a가 falsy일 때만, a &&= b는 a가 truthy일 때만 b를 평가해 넣고, 조건이 맞지 않으면 오른쪽 식은 실행조차 되지 않습니다. 그래서 a ??= loadName()처럼 쓰면 이미 값이 있을 때 함수 호출을 건너뜁니다.
비교하려던 곳에 = 하나를 쓰면 값이 대입됩니다. 비교는 ===를 사용하세요.
직접 바꿔보세요total에 25를 빼고 5로 나누는 대입을 추가하세요.