기본 개념
일상 생활에서의 예시로 이해해봅니다:
- "장바구니에 있는 각 물건을 하나씩 꺼내서 계산한다" → 장바구니(리스트)의 각 물건(항목)을 처리
- "학생 명단의 각 학생 이름을 하나씩 불러본다" → 명단(리스트)의 각 이름(항목)을 처리
SCSS의 @each도 같은 원리입니다. 리스트나 맵의 각 항목을 하나씩 가져와서 처리합니다.
반복문을 사용하면 리스트의 각 항목에 대해 클래스를 자동으로 생성할 수 있습니다.
요약 설명@each 반복문은 SCSS에서 리스트나 맵의 각 항목을 하나씩 순회하면서 코드를 실행하는 기능입니다.
@for가 숫자를 증가시키면서 반복하는 것과 달리,@each는 데이터 구조의 각 항목을 처리합니다.이 페이지에서는 @each 반복문의 기본 개념, 문법, 리스트와 맵을 순회하는 방법, 중첩 구조 처리, 실제 사용 예시를 초급자가 이해하기 쉬운 예제 중심으로 상세히 알아봅니다.
@each는 리스트나 맵의 각 항목을 하나씩 가져와서 코드를 실행하는 반복문입니다.
색상 팔레트, 간격 리스트, 브레이크포인트 맵처럼 데이터 구조를 기반으로 클래스를 만들 때, 데이터 정의만 바꿔도 전체 스타일이 함께 바뀌도록 만들어 주는 핵심 도구입니다.
일상 생활에서의 예시로 이해해봅니다:
SCSS의 @each도 같은 원리입니다. 리스트나 맵의 각 항목을 하나씩 가져와서 처리합니다.
반복문을 사용하면 리스트의 각 항목에 대해 클래스를 자동으로 생성할 수 있습니다.
@for와 @each의 차이를 비교해봅니다.
반복 방식
숫자를 증가시키면서 반복
리스트/맵의 각 항목을 순회
사용 시기
숫자 기반 반복이 필요할 때
데이터 구조를 순회할 때
예시
@for $i from 1 through 5
@each $color in $colors
@each를 사용하여 리스트의 각 항목을 순회하는 방법을 알아봅니다.
색상·크기·간격처럼 순서 있는 값들을 리스트로 관리하면, 클래스 이름 규칙과 값 규칙을 한 번에 설계할 수 있어 디자인 시스템을 구현하기 수월해집니다.
@each 뒤에 변수명과 리스트를 지정합니다.
$color는 리스트의 각 항목(red, blue, green)을 하나씩 가져옵니다.
문자열로 이루어진 리스트를 순회하는 예시입니다.
숫자로 이루어진 리스트를 순회하는 예시입니다.
숫자 리스트를 순회하면 각 숫자 값에 대해 클래스를 생성할 수 있습니다.
@each를 사용하여 맵의 각 키-값 쌍을 순회하는 방법을 알아봅니다.
맵은 이름과 값을 함께 다룰 수 있기 때문에, 버튼 타입·알림 타입·브랜드 색상처럼 의미 있는 이름과 토큰 값을 연결할 때 특히 유용합니다.
맵은 키(key)와 값(value)의 쌍으로 이루어진 데이터 구조입니다.
JavaScript의 객체나 Python의 딕셔너리와 비슷합니다.
맵은 관련 있는 데이터를 키-값 쌍으로 묶어서 관리할 때 유용합니다.
맵을 순회할 때는 키와 값을 각각 변수로 받습니다.
$name은 키(primary, secondary, success)를, $color는 값(#0a58ca, #6c757d, #28a745)을 가져옵니다.
맵을 순회하여 버튼 스타일을 자동 생성하는 예시입니다.
이렇게 하면 4개의 버튼 타입에 대한 스타일이 자동으로 생성됩니다.
중첩된 리스트나 맵을 순회하는 방법을 알아봅니다.
리스트 안에 리스트가 있는 경우, 여러 변수로 각 항목을 받을 수 있습니다.
중첩 리스트를 순회하면 여러 값을 한 번에 처리할 수 있습니다.
맵 안에 맵이 있는 경우도 순회할 수 있습니다.
이렇게 하면 중첩된 맵 구조도 순회할 수 있습니다.
@each를 실제 프로젝트에서 활용하는 예시를 살펴봅니다.
색상 맵을 순회하여 색상 유틸리티 클래스를 자동 생성하는 예시입니다.
이렇게 하면 5개 색상에 대해 3가지 유틸리티(배경, 텍스트, 테두리)가 자동으로 생성되어 총 15개의 클래스가 만들어집니다.
아이콘 이름 리스트를 순회하여 아이콘 클래스를 자동 생성하는 예시입니다.
브레이크포인트 맵을 순회하여 반응형 유틸리티를 자동 생성하는 예시입니다.
@each 안에서 조건문을 사용하여 더 유연한 코드를 작성할 수 있습니다.
아래는 @each 안에서 조건문으로 특정 항목만 처리하는 예시입니다.
이렇게 하면 특정 조건을 만족하는 항목만 처리할 수 있습니다.
@for와 @each를 언제 사용할지 비교해봅니다.
다음과 같은 경우에는 @for를 사용하는 것이 좋습니다:
다음과 같은 경우에는 @each를 사용하는 것이 좋습니다:
@each 반복문 사용법에 대해 알아본 내용을 정리합니다.
@each $변수 in 리스트 형태로 순회@each $키, $값 in 맵 형태로 키-값 쌍 순회@for, 데이터 구조는 @each다음 페이지에서는 반복문을 활용한 클래스 자동 생성을 자세히 알아봅니다.