2020. 2. 25. 15:30
   ,

다른 포스팅에서 '.Net'에서 열거형 멤버(enum)를 비트 연산으로 활용하는 방법을 알아보았습니다.

(참고 : [.NET] 열거형 맴버(enum)의 플래그(Flags)와 비트(bit) 연산 )


이번 포스팅에서는 자바스크립트에서는 어떻게 사용하는지 알아봅시다.


1. 자바스크립트(javascrpt)에서 열거형 멤버를 비트로 선언하기
자바스크립트에서도 비트로 값을 넣을 수 있습니다.


1
2
3
4
5
6
7
8
9
10
var Auth3Type = {
    None: 0,
    Opt0: 1 << 0,
    Opt1: 1 << 1,
    Opt2: 1 << 2,
    Opt3: 1 << 3,
    Opt4: 1 << 4,
    Opt5: 1 << 5,
    Opt6: 1 << 6
};
cs



2. 비트 연산 하기

모든값 빼기

1
typeAuth3 = Auth3Type.None;
cs



값 넣기

1
typeAuth3 = Auth3Type.Opt1 | Auth3Type.Opt3;
cs



기존 값에 추가하기

1
typeAuth3 |= typeAuth3, Auth3Type.Opt5 | Auth3Type.Opt6;
cs



기존 값에서 빼기

1
typeAuth3 &= ~Auth3Type.Opt3;
cs



값 반전(있으면 빠지고 없으면 추가됨)

1
typeAuth3 ^= Auth3Type.Opt6;
cs



특정값 확인

1
!!(typeAuth3 & Auth3Type.Opt1)
cs






3. 개체 만들기
위 기능들은 자주 쓰는 기능들이라 따로 개체를 만들어 사용하면 편합니다.


그래서 유틸로 만들었습니다.


다운로드 :  DG_FlagEnum.js


소스 코드 : Github dang-gun - dang-gun/DG_JavaScript_Utility



마무리

완성된 샘플 : Github dang-gun - dang-gun/DG_JavaScript_Utility


타입스크립트로 구현돼있는 것을 참고하여 작성하였습니다.

원본을 못 찾았다는 게 함정;;;

댓글 작성

이름
패스워드
홈페이지
비밀글