개념 하이라이트:
루핑은 프로그래밍의 기본 개념으로, 코드 블록을 여러 번 실행할 수 있게 해줍니다. JavaScript에서 for...of 및 for...in은 일반적으로 사용되는 두 가지 루프이지만 서로 다른 용도로 사용됩니다. 차이점을 이해하면 보다 효율적이고 효과적인 코드를 작성하는 데 도움이 됩니다.
for...of 루프는 배열, 문자열, 지도 및 집합과 같은 반복 가능한 객체를 반복하는 데 사용됩니다. 인덱스에 대해 걱정할 필요 없이 시퀀스의 각 값에 액세스할 수 있는 간단한 방법을 제공합니다.
예)
let teams = ['Red Sox', 'Dodgers', 'Padres']; for (let team of teams) { console.log(team); } // Output: // Read Sox // Dodgers // Padres
이 예에서 for...of는 팀 배열의 각 요소(팀)에 직접 액세스하고 이를 콘솔에 기록합니다. 이 루프는 인덱스가 아닌 값만 필요할 때 이상적입니다.
반면에 for...in 루프는 객체의 속성(키)을 반복하는 데 사용됩니다. 객체와 함께 사용되는 경우가 많지만 배열과 함께 사용하여 인덱스에 액세스할 수도 있습니다.
예)
let Mariners = {place: 'Seattle', league: 'American', color: 'navy blue'}; for (let key in Mariners) { console.log(`${key}: ${Mariners[key]}`); } // Output: // place: Seattle // league: American // color: navy blue
이 예에서 for...in은 Mariners 객체의 키를 반복하여 키와 해당 값에 모두 액세스할 수 있도록 합니다. for...in은 숫자 인덱스뿐만 아니라 열거 가능한 모든 속성을 반복하므로 배열과 함께 조심스럽게 사용해야 한다는 점에 유의하는 것이 중요합니다.
JavaScript는 각각의 장점과 단점을 지닌 다양한 데이터 구조를 제공합니다. 가장 일반적으로 사용되는 몇 가지 항목의 차이점을 살펴보았습니다.
예)
`
let mySet = new Set([1, 2, 3, 3, 4]);
myArray = [1, 2, 3, 3, 4]를 두십시오.
console.log(mySet) // 출력: Set { 1, 2, 3, 4 }
console.log(myArray) // 출력: [1, 2, 3, 3, 4]
`
이 예에서 Set()은 중복 항목 3을 자동으로 제거하는 반면 배열은 이를 유지합니다. Set()은 고유한 항목 컬렉션이 필요할 때 유용합니다.
키 유형:
주문하다:
사이즈:
예)
`
myMap = new Map();
myMap.set('이름', '존');
myMap.set(42, '답변');
myMap.set({}, '빈 객체');
myObject = {
이름: 'John',
42: '답변',
{}: '빈 객체'
};
console.log(myMap.size); // 출력: 3
console.log(Object.keys(myObject).length); // 출력: 2 (키 문자열 변환으로 인해)
`
이 예에서 Map()을 사용하면 다양한 키 유형을 사용할 수 있으며 객체 키는 문자열로 변환됩니다. 또한 Map()은 지도의 크기를 쉽게 제공하는 반면, 객체의 경우 키를 수동으로 계산해야 합니다.
예)
`
let mySet = new Set([1, 2 ,3]);
let myMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
console.log(mySet.has(2)); // 출력: true
console.log(myMap.get('key1')); // 출력: '값'1
`
이 예에서 Set()은 값의 존재를 확인하는 데 사용되는 반면 Map()은 키와 연결된 값을 검색하는 데 사용됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3