WEB/JS

자바forEach 자바스크립트의 forEach 메서드 비교

min민 2024. 10. 23.

자바와 자바스크립트의 forEach 메서드 비교

많이 비슷하고 비슷한 처리를 하는 자바와 자바스크립트 forEach 비교 

1. 자바의 forEach

자바에서는 List 인터페이스의 forEach 메서드를 사용하여 리스트의 각 요소에 대해 작업을 수행할 수 있습니다. 자바 8부터 도입된 람다 표현식을 통해 더욱 간결하게 작성할 수 있습니다.

 

예시코드

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> homeworks = new ArrayList<>();
        homeworks.add("david.zip");
        homeworks.add(null);
        homeworks.add("maria.zip");
        homeworks.add("tom.zip");

        List<String> newHomeworks = new ArrayList<>();

        // forEach를 사용하여 null이 아닌 요소 추가
        homeworks.forEach(homework -> {
            if (homework != null) {
                newHomeworks.add(homework);
            }
        });

        System.out.println(newHomeworks); // [david.zip, maria.zip, tom.zip]
    }
}

 

위의 코드에서 forEach 메서드는 리스트의 각 요소에 대해 람다 표현식에서 정의한 작업을 수행합니다. homework라는 변수에 각 요소가 할당되며, 이를 통해 조건문을 사용해 null이 아닌 값을 새로운 리스트에 추가합니다.

 

 

2. 자바스크립트의 forEach

자바스크립트에서도 배열의 요소를 순회할 때 forEach 메서드를 사용할 수 있습니다. 자바스크립트에서는 일반 함수나 화살표 함수를 사용하여 작업을 정의할 수 있습니다.

 

예시코드

const homeworks = ['david.zip', null, 'maria.zip', 'tom.zip'];
const new_homeworks = [];

// forEach를 사용하여 null이 아닌 요소 추가
homeworks.forEach(homework => {
    if (homework !== null) {
        new_homeworks.push(homework);
    }
});

console.log(new_homeworks); // ['david.zip', 'maria.zip', 'tom.zip']

 

자바스크립트의 forEach 메서드는 배열의 각 요소를 순회하며, 각 요소에 대해 정의한 작업을 수행합니다. 여기서도 homework라는 변수가 각 요소에 할당되어 조건문을 통해 null이 아닌 값만 새로운 배열에 추가됩니다.

 

 

3. 자바와 자바스크립트의 차이점

  • 문법: 자바는 람다 표현식을 사용하여 간결하게 작성할 수 있지만, 자바스크립트는 익명 함수 또는 화살표 함수를 사용할 수 있습니다.
  • 타입: 자바는 정적 타입 언어이기 때문에 변수의 타입을 명시해야 합니다. 반면, 자바스크립트는 동적 타입 언어로, 변수의 타입을 자동으로 결정합니다.
  • 데이터 구조: 자바는 List와 같은 컬렉션 클래스를 사용하여 데이터를 관리하는 반면, 자바스크립트는 배열을 기본 데이터 구조로 사용합니다.

 

결론

자바와 자바스크립트 모두 forEach 메서드를 통해 배열이나 리스트의 요소를 쉽게 순회할 수 있습니다. 두 언어의 문법은 다르지만, 각 언어의 특성에 맞춰 효율적으로 사용할 수 있습니다. 

댓글