- Const 상수. 수식에서 변하지 않는 값이다. const 키워드를 통해서 선언한다. 변수 앞에 const를 붙이면 된다. const로 상수를 선언한 후에는 값을 꼭 넣어주어야 한다. 컴파일 타임의 상수임으로, 컴파일 할때 값이 결정된다. 이렇게 선언된 최초의 값은 프로그램 실행 중간에 변경할 수 없다.
- ReadOnly Const와 마찬가지로 상수이다. 하지만, 조금 유연하다. 런타임 상수임으로, 프로그램 실행중에 초기화 하는것도 가능한 상수이다. const 상수와 마찬가지로 선언과 동시에 초기화를 할 수도 있지만, 생성자에서 변경하거나, 초기화를 하지 않고 생성자에서 최초로 초기화를 해주는 등의 런타임 중에 세팅을 할 수 있다.
- const와 readonly의 차이점 const는 Stack 메모리에 저장되기 때문에, 접근이 빠르다는 장점이 있지만, 컴파일 타임 상수라서, 값을 변경하는 경우 컴파일부터 다시 해야하는 비용이 든다. 만약 다시 컴파일하지 않는다면, 여전히 이전의 상수 값으로 세팅되어 있을 것이다. 이에 반해 readonly는 생성자에서 초기화하여 사용할 수 있기 때문에 유연하며, 일부만 다시 빌드하면, 이를 사용하는 코드들은 이에 대한 참조를 가지고 있으므로, 다시 빌드할 필요가 없다는 장점이 있다.
⇒ 그렇기 때문에, const 보다는 readonly를 사용하는 것이 가급적 좋다.