다음과 같은 SCSS코드를 보자.

$color: royalblue;
.container {
  position: fixed;
  top: 100px;
  .item {
    width: 100;
    height: 100;
    transform: translateX(100px);
  }
}

여기서 100px, 200px 등의 숫자가 사용되고 있다.

우리가 도입할 건 이 숫자들을 변수화해 재사용, 그리고 일괄 관리하는 것임.

다음과 같이 변수를 선언하자.

$color: royalblue;
$size: 100px;

이제 다음과 같이 값을 변수화해 사용할 수 있다.

$color: royalblue;
$size: 100px;

.container {
  position: fixed;
  top: $size;
  .item {
    width: $size;
    height: $size;
    transform: translateX($size);
  }
}

⚠️ SCSS의 변수도 유효범위가 있다.

전역에 선언하면 전역에서 사용할 수 있다.

하지만 {} 안에 선언하면, 해당 중괄호가 변수의 스코프가 된다.

⚠️ SCSS의 변수는 JS의 변수와 유사하다. var 변수처럼 재할당이 가능한 변수이기 때문에, 똑같은 변수명이라면 스코프와 상관없이 가장 최근에 할당된 값이 적용된다고 함…

$color: royalblue;
$size: 100px;

.container {
  position: fixed;
  top: $size;
  .item {
  	$size: 200px; //변수 재할당
    width: $size;
    height: $size;
    transform: translateX($size);
  }
  left : $size; //size는 200px이 적용된다.

}