? 불변 변수는 unsafe 쓰는거 아니면 절대 변경 불가능인데
let으로 다시 할당함
그렇다구 하던데
let으로 다시 할당하는건 변경이 아니라 재선언임 덮어씌우는거지
let으로 다시 선언한 시점부터 예전에 있던건 가려져서(섀도잉) 접근을 할 수 없게 되고, 새로운 동명의 변수만이 가시성을 갖게되는거지
그럼 재선언 이전의 변수와 새로 선언한 변수는 전혀 다른 변수로 봐주어야 하는건가
이름만 같아보이는거고 완전 다르지. 다른 타입으로 재선언해도 에러 없이 컴파일 잘됨
어렵내...
헷갈리면 굳이 안써도 됨 어느정도는 함수형스타일 표현하려고 있는거라
값을 변경하는게 아니라 새 값에 기존 이름을 갖다붙이는거임
예전값의 레퍼런스를 만들었다면 그대로 예전값을 가르키고 있음
으어어
여려울게 없어 하위 스코프가 상위 스코프의 이름을 가리고 있는 상황이랑 다를게 없음 다만 러스트 등에서는 같은 스코프내에서도 전후관계로 그렇게 만들 수 있다는 것 뿐
오
? 불변 변수는 unsafe 쓰는거 아니면 절대 변경 불가능인데
let으로 다시 할당함
그렇다구 하던데
let으로 다시 할당하는건 변경이 아니라 재선언임 덮어씌우는거지
let으로 다시 선언한 시점부터 예전에 있던건 가려져서(섀도잉) 접근을 할 수 없게 되고, 새로운 동명의 변수만이 가시성을 갖게되는거지
그럼 재선언 이전의 변수와 새로 선언한 변수는 전혀 다른 변수로 봐주어야 하는건가
이름만 같아보이는거고 완전 다르지. 다른 타입으로 재선언해도 에러 없이 컴파일 잘됨
어렵내...
헷갈리면 굳이 안써도 됨 어느정도는 함수형스타일 표현하려고 있는거라
값을 변경하는게 아니라 새 값에 기존 이름을 갖다붙이는거임
예전값의 레퍼런스를 만들었다면 그대로 예전값을 가르키고 있음
으어어
여려울게 없어 하위 스코프가 상위 스코프의 이름을 가리고 있는 상황이랑 다를게 없음 다만 러스트 등에서는 같은 스코프내에서도 전후관계로 그렇게 만들 수 있다는 것 뿐
오