본문 바로가기

스피드 문법정리

2. Var, Scope

var

변할 수 있는 수, 저장된 값이 변할 수 있는 수

var variableName = initialValue
var name = "design"
var x = 0.0, y = 0.0, z = 0.0

let

변할 수 없는 수, 저장 된 값을 변경할 수 없는 수

let constantName = initialValue
let name = "hu"
let x = 0.0, y = 0.0, z = 0.0

let을 선호하는 이유 

실수로 값을 변경하는 일이 없음, 컴파일 오류로 인해 미리 발견 가능

컴파일러가 별도의 최적화로 인해 코드가 조금 더 빠름 

Scope

변수, 상수에 접근할 수 있는 범위를 일컬음, 선언된 위치에 따라 결정되며 자신이 속한 범위 내에서 항상 유일한 이름을 가져야 함

Global scope

어떠한 중괄호에도 속하지 않음, Global scope는 한 개만 존재

local scople

중괄호 내부에 속함, 여러 개 존재 가능

Scope의 규칙 

1. 동일한 스코프에 있는 변수와 상수에 접근이 가능하다 

2. 동일한 스코프에서는 이전에 선언되어있는 변수와 상수에 접근할 수 있다 

3. 로컬 스코프에서는 상위 스코프나 글로벌 스코프에 선언된 변수와 상수에 접근할 수 있다 

4. 상위 스코프에서는 하위 스코프에서 선언된 상수와 변수에 접근할 수 없다 

5. 서로 다른 스코프에 동일한 이름이 존재한다면 가장 인접한 스코프에 있는 이름을 사용한다