JavaScript의 열거자

Shraddha Paghdar 2023년10월12일
  1. JavaScript에서 Array를 사용하여 열거자 생성
  2. JavaScript에서 for 루프를 사용하여 열거자 만들기
JavaScript의 열거자

열거형은 C 언어에서 가장 널리 사용되는 사용자 정의 데이터 유형 중 하나로 정수 상수의 이름을 지정할 수 있어 프로그램을 쉽게 읽고 유지 관리할 수 있습니다. 네이티브 자바스크립트는 기존의 Enum 데이터 유형이 없지만 TypeScript에서 도입되었습니다.

오늘의 포스트에서 우리는 네이티브 자바스크립트의 열거자를 알게 될 것입니다.

JavaScript에서 Array를 사용하여 열거자 생성

JavaScript 배열은 사전 정의된 속성이 있는 특수 객체입니다. 입력 매개변수로 전달된 값에 할당할 수 있는 숫자 속성입니다.

JavaScript는 배열 작업을 위한 여러 방법을 제공합니다. 가장 인기 있는 배열 방법 중 일부는 .push(), .pop(), 입니다. map(),.reverse()

자바스크립트의 indexOf

이것은 JavaScript의 내장 메소드입니다. 이 메서드는 배열 값을 취하고 전체 배열을 반복하여 인덱스/속성을 반환합니다.

일치하는 값이 여러 개 발견되면 첫 번째 일치하는 값 인덱스가 반환됩니다. 값이 없으면 -1이 반환됩니다. 수행된 검색 작업은 === 연산자를 사용한 strict 검색입니다.

통사론:

indexOf(searchElement)
indexOf(searchElement, fromIndex)

이 메서드는 배열을 통해 실행되어 입력으로 전달된 searchElement를 찾습니다. 특정 인덱스에서 검색을 시작하고 fromIndex를 전달합니다.

fromIndex는 지정된 인덱스 앞의 요소를 건너뛰고 이 인덱스에서 검색을 시작합니다. 이 인덱스가 배열 범위를 벗어나면 -1이 반환되며 이는 값을 검색할 수 없음을 의미합니다.

자세한 내용은 indexOf 메서드에 대해 자세히 알아보세요.

const osConfig = ['Linux', 'MacOS', 'Windows', 'Ubuntu'];
console.log(osConfig.indexOf('Linux'));

위의 예제 코드에서는 OS 배열의 4가지 값을 정의했습니다. indexOf("Linux")를 전달하면 osConfig가 반복되고 osConfig의 모든 값이 확인됩니다.

위 코드의 출력은 아래와 같을 것입니다.

출력:

0

JavaScript에서 for 루프를 사용하여 열거자 만들기

열거형을 만드는 또 다른 방법은 for 루프를 사용하는 것입니다.

사용자는 입력 인수를 취하는 함수를 만들고 for 루프를 사용하여 해당 인수를 반복할 수 있습니다. 그런 다음 각 인수를 사용하여 키를 인수로, 값을 인덱스 또는 반복 번호로 사용하여 객체를 생성합니다.

function Enum() {
  for (let i = 0; i < arguments.length; ++i) {
    this[arguments[i]] = i;
  }
  return this;
}
const config = {};
config.type = new Enum('Linux', 'MacOS', 'Windows', 'Ubuntu');

console.log(config);
console.log(config.type.Linux);

위의 예에서 인수를 가져와 하나씩 반복하여 로컬 개체를 만드는 Enum 함수를 만들었습니다. 위의 코드를 실행하면 다음과 같은 결과가 나옵니다.

출력:

{ type: Enum { Linux: 0, MacOS: 1, Windows: 2, Ubuntu: 3 } }
0
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn