sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars4  
extra_vars5  
extra_vars6  

어떤분의 코드에서 복합대입연산자 (|=) 를 발견하였다.

비트 OR 대입 연산자인데, 해당 코드에서 왜 그 연산자를 써야했는지에 대한 고민에 며칠을 고생했다.

비트 OR 대입 연산자의 사전적인 정의는 다음과 같다.

 

|= 비트 OR 대입 연산자

expression1 |= expression2

expression1에 expression1 | expression2의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.

    x |= y;
    x = x | y; 

 

피연산자

    expression1:Number - 숫자 또는 변수입니다.

    expression2:Number - 숫자 또는 변수입니다.

반환값

    Number - 비트 연산의 결과입니다.

예제

    다음 예제에서는 비트 OR 대입(|=) 연산자를 사용합니다.

    // 15 decimal = 1111 binary 
    var x:Number = 15; 
    // 9 decimal = 1001 binary 
    var y:Number = 9; 
    // 1111 |= 1001 = 1111 
    trace(x |= y); // returns 15 decimal (1111 binary) 

 

연산자 하나만 놓고 봤을때는 아주 아주 단순하게 느껴지지만 프로그램 전체적으로 봤을때 해당 연산자를 왜 썼을까? 라는 의미를 고민할땐 결코 만만한 코드가 아니었다.

번호 제목 글쓴이 날짜 조회 수
206 [GitHub] JavaScript Algorithms and Data Structures (알고리즘과 자료구조) file 황제낙엽 2021.03.01 393
205 콜백지옥과 비동기제어 file 황제낙엽 2021.02.18 1359
204 Json 특징 및 문법 황제낙엽 2021.01.26 335
203 비동기프로그래밍 - 콜백함수(Callback function) file 황제낙엽 2020.08.26 504
202 Strict 모드 황제낙엽 2020.08.23 412
201 window.postMessage() 황제낙엽 2020.07.29 1919
200 withCredentials 관련 황제낙엽 2020.07.29 392
199 CORS 관련 레퍼런스 URL 황제낙엽 2020.07.10 420
198 ECMA 스크립트의 JSON 황제낙엽 2019.10.16 406
197 경과 시간 구하기 황제낙엽 2019.10.04 1492
196 입력받은 날짜와 현재 날짜와의 비교 함수 황제낙엽 2019.08.02 928
195 사용자 모듈 만들기 황제낙엽 2019.07.09 42129
194 charcode 32와 160 차이 (javascript char 160 to 32) 황제낙엽 2019.05.11 443
193 UTF-8 한글 초성 추출 (자바스크립트) 황제낙엽 2019.05.07 535
192 IE브라우저에서 서버의 XML파일을 ajax로 가져와 DOM파싱하는 예제 (XMLHttpRequest, XML, ActiveXObject) 황제낙엽 2018.11.23 587
191 XMLHttpRequest.timeout 황제낙엽 2018.11.03 559
190 부동소수점 (floating-point) file 황제낙엽 2018.03.26 1467
189 User Agent Parser들 황제낙엽 2017.11.20 5576
188 window.postMessage 이해하기 file 황제낙엽 2017.10.16 1904
187 브라우저의 새로고침과 종료에 대한 이벤트 황제낙엽 2017.08.11 3139