기본 콘텐츠로 건너뛰기

Pinned Post

배우자 유산·사산휴가 신설부터 출산 전 배우자 출산휴가, 임신 중 배우자를 위한 육아휴직까지 핵심 내용 정리

2026년 9월 18일 시행 2026년 9월 18일부터 달라지는 배우자 지원 3종 세트 배우자 유산·사산휴가 신설부터 출산 전 배우자 출산휴가, 임신 중 배우자를 위한 육아휴직까지 핵심 내용 정리 작성 기준일 : 2026년 9월 18일 고용노동부 보도자료와 국가법령정보센터의 2026년 시행 법령을 기준으로 정리했습니다. 제도 및 급여 기준은 향후 법령·고시·행정지침 등에 따라 변경될 수 있으므로 실제 신청 전 고용노동부 또는 고용24에서 다시 확인하는 것이 좋습니다. 핵심 요약 ① 유산·사산 최대 5일 최초 3일 유급 ② 배우자 출산휴가 20일 출산예정일 50일 전부터 사용 가능 ③ 임신 중 배우자 육아휴직 출산 전 가능 유산·조산 등 위험이 있는 경우 1. 배우자가 유산·사산한 경우 최대 5일 휴가 2026년 9월 18일부터 배우자의 유산 또는 사산을 이유로 근로자가 사용할 수 있는 배우자 유산·사산휴가 가 신설됩니다. 핵심 조건 휴가 기간 : 5일 범위 최초 3일은 유급 배우자가 유산 또는 사산한 날부터 20일 이내 청구 사업주는 해당 휴가를 이유로 해고하거나 불리한 처우를 할 수 없음 「남녀고용평등과 일·가정 양립 지원에 관한 법률」 제18조의4에 이러한 내용이 규정되어 있습니다. 다만 법에서 정한 예외에 해당하는 인공 임신중절에 따른 유산에는 적용되지 않습니다. 우선지원대상기업이라면 급여 지원도 확인 우선지원대상기업 근로자는 유급 대상인 최초 3일에 대해 통상임금 100% 수준의 배우자 유산·사산휴가 급여 지원 대상이 될 수 있습니다. 고용노동부가 ...

자바스크립트 배열 반복: 6가지 고급 방법과 실무 활용

자바스크립트 배열 반복: 6가지 고급 방법과 실무 활용

배열을 반복하는 작업은 자바스크립트 개발에서 필수적입니다. 상황에 따라 적절한 반복 방법을 선택하는 것이 코드 성능과 가독성에 큰 영향을 미칠 수 있습니다. 이번 포스팅에서는 배열을 반복하는 6가지 주요 방법을 소개하고, 각각의 실무 적용 시기를 설명하겠습니다.

1. for 루프

for 루프는 자바스크립트에서 가장 기본적인 반복 방식으로, 배열의 인덱스를 직접 제어할 수 있습니다. 복잡한 조건이 필요한 경우 유용합니다.

const arr = [1, 2, 3, 4];
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

사용 시기:

  • 인덱스를 직접 제어하거나, 조건에 따라 특정 요소를 건너뛰거나 중단할 때 유용합니다.

2. for...of 루프

for...of는 배열의 각 요소 값을 순차적으로 가져옵니다. 인덱스가 필요 없을 때 간편하게 사용할 수 있으며, 가독성도 뛰어납니다.

const arr = [1, 2, 3, 4];
for (const value of arr) {
  console.log(value);
}

사용 시기:

  • 배열의 값만 필요할 때, 가독성을 중요시하는 코드에 적합합니다

3. forEach 메서드

forEach는 고차 함수로, 각 배열 요소에 대해 한 번씩 제공된 함수를 실행합니다. 부작용을 필요로 하는 작업, 예를 들어 DOM 조작 또는 콘솔 출력 작업에 자주 사용됩니다.

const arr = [1, 2, 3, 4];
arr.forEach(value => {
  console.log(value);
});

사용 시기:

  • 반환값이 필요 없고, 부작용을 발생시키는 작업에 적합합니다.

4. map 메서드

map은 각 배열 요소에 대해 주어진 함수를 적용하고, 그 결과로 새로운 배열을 반환합니다. 배열을 변환해야 할 때 유용하며, 함수형 프로그래밍에서 자주 사용됩니다.

const arr = [1, 2, 3, 4];
const newArr = arr.map(value => value * 2);
console.log(newArr);  // [2, 4, 6, 8]

사용 시기:

  • 배열 요소를 변환하고 새로운 배열이 필요할 때 유용합니다

5. while 루프

while 루프는 조건이 true인 동안 계속해서 반복합니다. 동적 조건이 필요한 반복 작업에 사용되며, 일반적인 for 루프보다 유연합니다.

let i = 0;
const arr = [1, 2, 3, 4];
while (i < arr.length) {
  console.log(arr[i]);
  i++;
}

사용 시기:

  • 동적 조건에 따라 반복을 제어할 때 사용됩니다

6. do...while 루프

do...while은 while과 비슷하지만, 조건을 평가하기 전에 블록을 최소한 한 번 실행합니다.

let i = 0;
const arr = [1, 2, 3, 4];
do {
  console.log(arr[i]);
  i++;
} while (i < arr.length);

사용 시기:

  • 반드시 한 번은 실행해야 하는 작업에 적합합니다


실무 활용 팁

  1. 데이터 변환: 데이터를 변환하여 새로운 배열을 생성할 때는 map()을 사용하는 것이 적합합니다. 예를 들어, API 응답을 처리하고 가공된 데이터를 사용할 때 유용합니다.
  2. 부작용 처리forEach는 부작용이 필요한 작업에 적합합니다. 예를 들어, 각 배열 요소를 사용해 DOM을 조작하거나 콘솔에 로그를 찍는 경우 유용합니다.
  3. 성능 최적화for 루프는 큰 데이터셋을 처리할 때 성능 최적화를 고려할 수 있는 방법 중 하나입니다. 반복 중단이나 조건부 반복이 필요한 경우 특히 유용합니다.
  4. 가독성 고려: 배열 요소에만 집중하고 싶을 때는 for...of 또는 forEach를 사용하는 것이 가독성을 높이는 데 도움이 됩니다.

결론

배열을 반복하는 방법은 다양하지만, 각각의 상황에 맞는 방식을 선택하는 것이 중요합니다. 데이터 처리, 부작용 관리, 성능 최적화 등 요구사항에 따라 가장 적합한 반복 방법을 사용하는 것이 코드의 효율성과 가독성을 모두 높일 수 있습니다.

이 포스팅을 통해 여러분도 다양한 배열 반복 방법을 더 잘 이해하고, 실무에 맞게 적용할 수 있기를 바랍니다. 💡


실무


아래는 https://jsonplaceholder.typicode.com API를 활용하여 배열 데이터를 반복하면서 JSON 데이터를 출력하는 예제입니다. 각 반복 방법(forfor...offorEachmapwhiledo...while)을 사용해 API로부터 가져온 데이터를 처리하는 코드를 보여줍니다.

예제: 배열 반복 방법을 사용해 API 데이터 처리하기

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>API 데이터 반복 처리</title>
</head>
<body>

  <h1>API 데이터를 다양한 반복 방법으로 출력</h1>
  <button id="fetchData">API 데이터 가져오기</button>

  <script>
    const apiUrl = 'https://jsonplaceholder.typicode.com/posts';

    // API 데이터를 가져오는 함수
    const fetchData = async () => {
      try {
        const response = await fetch(apiUrl);
        const data = await response.json();
        return data;
      } catch (error) {
        console.error('API 요청 실패:', error);
      }
    };

    document.getElementById('fetchData').addEventListener('click', async () => {
      const data = await fetchData();

      if (!data) return;

      console.log("1. for 루프 사용:");
      for (let i = 0; i < data.length; i++) {
        console.log(`ID: ${data[i].id}, Title: ${data[i].title}`);
      }

      console.log("\n2. for...of 루프 사용:");
      for (const post of data) {
        console.log(`ID: ${post.id}, Title: ${post.title}`);
      }

      console.log("\n3. forEach 메서드 사용:");
      data.forEach(post => {
        console.log(`ID: ${post.id}, Title: ${post.title}`);
      });

      console.log("\n4. map 메서드 사용:");
      const postTitles = data.map(post => post.title);
      console.log(postTitles);

      console.log("\n5. while 루프 사용:");
      let index = 0;
      while (index < data.length) {
        console.log(`ID: ${data[index].id}, Title: ${data[index].title}`);
        index++;
      }

      console.log("\n6. do...while 루프 사용:");
      let counter = 0;
      do {
        console.log(`ID: ${data[counter].id}, Title: ${data[counter].title}`);
        counter++;
      } while (counter < data.length);
    });
  </script>

</body>
</html>

코드 설명:

  1. API 데이터 가져오기fetchData() 함수는 fetch()를 통해 https://jsonplaceholder.typicode.com/posts에서 데이터를 가져옵니다. 이 데이터를 JSON으로 변환하여 배열 형태로 반환합니다.

  2. 배열 반복 방법: 버튼을 클릭하면 다양한 반복 방법을 사용하여 API에서 가져온 게시물의 id와 title을 출력합니다.

    • for 루프: 배열의 길이를 기준으로 반복하면서 각 요소에 접근.
    • for...of: 배열의 각 요소를 순차적으로 가져와서 출력.
    • forEach: 고차 함수를 사용해 배열의 각 요소에 대해 지정된 작업을 수행.
    • map: 각 게시물의 제목을 변환하여 새로운 배열로 반환.
    • while: 조건에 따라 배열을 순차적으로 반복.
    • do...while: 조건을 나중에 검사하는 반복문으로 최소 한 번은 실행.

실무 활용

이 코드는 API 데이터를 처리하는 기본적인 예제로, 실무에서 비동기 작업을 처리하는 상황에서 자주 사용됩니다. 특히, 각 반복 방식의 장점을 활용해 데이터를 효과적으로 처리할 수 있습니다.

댓글

이 블로그의 인기 게시물

ChatGpt 의 유료결제 영수증 및 청구서 다운로드

ChatGpt 의 유료결제 영수증 및 청구서 다운로드   https://chatgpt.com/  사이트에 접속하며 회원가입을 합니다.   ChatGpt 유료 결제를 위해서는 왼쪽 하단에 있는 " Team 워크스페이스 추가 "를 선택합니다.   https://chatgpt.com/     ChatGPT의 요금제는 세 가지로 나뉩니다:  Free ,  Plus , 그리고  Custom Plan (기업용 요금제). 각 요금제의 특징과 차이점은 다음과 같습니다. 1.  Free Plan (무료 플랜) 사용 모델:  GPT-3.5 제공 기능:  기본적인 질문 응답, 텍스트 생성 접속 가능성:  트래픽이 많을 때는 사용이 제한될 수 있으며, 응답 속도가 느릴 수 있습니다. 제한 사항:  최신 모델이나 고급 기능을 사용할 수 없고, 성능이나 속도 면에서 제한이 있습니다. 2.  Plus Plan (플러스 플랜) 월 요금:  $20 사용 모델:  GPT-4 장점:  더 빠른 응답 속도, 트래픽이 많을 때도 안정적인 접속 가능 차이점:  GPT-4의 향상된 성능으로 더 복잡한 질문이나 고급 작업에도 우수한 결과를 제공합니다. 접속 가능성:  트래픽이 많아도 안정적이며, 더 나은 응답 속도를 제공합니다. 3.  Custom Plan (맞춤형 플랜) 대상:  대규모 기업 또는 특정 요구사항이 있는 고객 요금:  고객의 요구에 따라 맞춤 설정 특징:  기업 맞춤형 기능과 성능을 제공하며, 보안, 데이터 정책, API 액세스와 같은 맞춤형 옵션을 포함할 수 있습니다. 차이점:  대규모 기업에 특화된 기능으로, 추가 지원과 고급 기능 제공이 가능합니다. 주요 차이점 모델 사용:  Free는 GPT-3.5,...

인천국제공항 제1여객터미널에서 일본으로 가는 출국 절차 안내 ✈️

인천공항 제1여객터미널 출국 절차 가이드 (탑승동 이동 및 셔틀트레인 완벽 정리) 공항 도착부터 체크인, 보안검색, 출국심사, 그리고 셔틀트레인을 타고 탑승동으로 이동하는 전체 출국 단계를 빠짐없이 안내합니다. 1. 공항 도착 시간 항공기 출발 3시간 전 제1여객터미널 3층 출국장 도착 권장 2. 탑승구 확인 101~132번 게이트는 셔틀트레인을 타고 탑승동 으로 이동 필수 3. 되돌아오기 불가 셔틀트레인은 편도 이동만 가능하므로 본동 면세품 인도 후 탑승 Step 1. 공항 도착 및 체크인 (3층 일반지역) 항공기 출발 3시간 전 공항 3층 출국장에 도착하는 것을 권장합니다. 셀프 체크인 & 자동 수하물 위탁(Self Bag-Drop): 키오스크에서 모바일·지류 탑승권을 발급받고 전용 카운터를 이용하면 대기시간을 크게 단축할 수 있습니다. 유인 카운터: 여권과 항공권(e-티켓)을 제시하여 좌석 배정 및 위탁 수하물을 처리합니다. Step 2. 출국 전 사전 준비 (환전 및 통신) 환전 수령: 사전 신청한 외화를 3층 또는 지하 1층 환전소·은행 영업점에서 수령합니다. 로밍 및 통신: 통신사 부스에서 데이터 로밍 확인 또는 신청한 USIM/eSIM/와이파이 단말기를 수령합니다. 기타 편의시설: 외투 보관 서비스, 약국, 여행자 보험 창구 이용은 보안검색장 진입 전 일반지역에서 마쳐야 합니다. Step 3. 출국장 진입 및 보안 검색 3층 출국장 게이트(2~5번)로 이동하여 탑승권과 여권을 확인받고 보안검색대로 이동합니다. 주의 (액체류 규정 안내) 기내 반입 액체류는 개별 용기당 100ml 이하, 1인당 총 1L 투명...

엑셀·워드와 호환되는 최신 WYSIWYG 웹 에디터 강추

최신 자료를 기반으로 엑셀과 워드 호환이 잘 되는 상위 10개의 WYSIWYG 웹에디터를 조사하겠습니다. 이 목록은 사용량, 기능, 개발자 선호도를 고려하여 선정되며, 각 웹에디터의 공식 웹사이트 링크도 함께 제공해드리겠습니다.  엑셀·워드와 호환되는 최신 WYSIWYG 웹 에디터 10선 1.  CKEditor 5 오픈 소스 기반의  CKEditor 5 는 높은 완성도의 WYSIWYG 웹 에디터로, Drupal 등 주요 CMS에서 기본 에디터로採용될 정도로 널리 쓰입니다 ( Drupal and CKEditor: a history of advanced content editing | CKEditor | CKEditor ). 풍부한 플러그인과 커스터마이징 기능을 제공하며,  Microsoft Word  문서를 댓글이나 변경 추적 내용까지 포함하여 불러오는 고급 호환 기능도 갖추고 있습니다 ( Wysiwyg Editors Statistics 2025 ). 또한 별도 플러그인을 통해 편집한 내용을 바로  .docx  워드 파일로 내보낼 수 있어 워드 호환성이 뛰어납니다 ( Export to Word | CKEditor 5 Documentation ). 개발자들은 CKEditor 5의 모듈식 설계와 활발한 커뮤니티 지원을 선호하며, 기업용 협업 편집 기능 등의 프리미엄 옵션도 제공됩니다. 2.  TinyMCE TinyMCE 는 오랜 역사와 함께 가장 널리 사용되는 웹 에디터 중 하나로, WordPress에서는 수년간 기본 편집기로採用되어 왔습니다. Joomla, Umbraco, Shopify 등 수많은 CMS에 내장되어 있으며, 전 세계 웹 콘텐츠의 약 40%가 TinyMCE로 작성·출판되고 있다고 합니다 ( Configure TinyMCE for your CMS to rival Wix and WordPress | TinyMCE ). 기본 기능만으로도 강력하지만,...