어휘 범위
A tour of the Dart language 페이지를 공부하면서 정리한 내용입니다.
Dart는 어휘 범위(Lexically scoped)가 지정된 언어입니다. 즉, 변수의 범위는 단순히 코드 레이아웃(코드 블록)에 의해 정적으로 결정됩니다. 변수가 어떤 범위 내에 있는지 확인하기 위해서 {}
밖으로 코드를 따라가면 확인할 수 있습니다. 다음은 중첩 함수의 예제입니다.
중첩된 어휘 범위에서 변수명이 중복될 경우 변수 쉐도잉(Shadowing) 발생합니다. 쉐도잉이란 안쪽 어휘 범위에서 언된 변수에 의해서 바깥쪽에 선언된 변수가 가려지는 것을 의미합니다. 중첩된 어휘 범위에서 무의식적으로 같은 이름의 변수명을 사용할 경우 변수 쉐도잉에 의해서 프로그램이 의도치 않게 동작할 수 있으므로 주의가 필요합니다.
Last updated