골때리는 자바스크립트 미니버전.

자바스크립트로 프로그래밍 짜면서 아마 이 연산자는 쓰실런지 모르겠습니다.

바로 물결표시 (~) 인데요.

자바스크립트에도 이 물결 연산자가 먹힌다는거 알고 계셨습니까?

네. C 언어와 마찬가지로 비트로 부정하는 연산자입니다.

예를 들면, 브라우저는 대부분 32비트니 32비트 정수죠.

9  = 00000000000000000000000000001001

              ——————————–

~9 = 11111111111111111111111111110110 = -10

대충 이런 식이 성립되는군요. -(n+1)

물론 잘 안쓰죠. 자바스크립트에 비트 연산 거의 쓸일이 없거든요.

가뜩이나 node.js 빼면 파일이나 이진법 연산도 안되는 이 연산자.

하지만 쓸 곳이 하나 있다는 사실 아십니까?

바로 indexOf 메서드입니다. String 에. 문자열에 내장된 함수죠.

왜냐구요? 직접 연산해 보시길.

~-1 = 0

~0  = -1

~2  = -3

자. 이제 감 잡으셨죠? indexOf 는 지정된 문자열을 찾지 못하면 -1 이 반환됩니다.

결국 이렇게 편리한 논리식이 성립됩니다.

if(~’oh my god’.indexOf(‘m’)){

    alert(‘m이 요기잉네?’);

}else{

    alert(‘m 따위 내가 먹었음.’);

}

어때요. 참 쉽죠?

그것도 모자라 물결표시 2개짜리도 있습니다. ~~ 입니다. 그럼 이건 뭘까요?

쉽게 생각하세요. !!a 처럼 반전에 반전을 한겁니다. 그렇게 생각하면 쉬워요.

하지만 문제가 뭐냐면..

~~3.4356456 == 3

정수가 되버린다는 사실. 그것도 소수점 다 버립니다. Math.floor() 처럼요.

그러고 보니까 Math.floor 의 대안이 될 수 있겠군요.

근데 왜 소수점을 다버릴까요? 흐음.. 글쎄요. 그것까지는 모르겠습니다.

하지만 정말 유용할 것 같군요. 소수점을 버리고 정수만 표현하고 싶은데

여태까지 Math.floor 써왔는데 겨우 물결표시 2개로 해결되다니.

뭐 알고보면 유용하군요.

골때리는 자바스크립트는 여기까지로 하겠습니다.

그럼 즐자스코딩~

composite / 2012년 11월 13일 / 미분류 / 1 Comment

app.js 자작 예제 프로그램 공개!

<

p style=”text-align: center; clear: none; float: none;”>

다운로드 링크 클릭 후 소스를 볼 수 있으며, HTML 로 만들어져 있다. 내가 만들었지만 app.js 는 놀랍다.

MIT 라이센스이므로 당신이 원하는 앱으로도 공부하기에 충분할 것이다.

composite / 2012년 9월 26일 / 미분류 / 0 Comments

appjs Dev kit

app.js 개발을 위한 키트.

내용물은 node.js 포함하여 app.js 등이 있으며 크기는 약 16MB.

첨부파일 제한 때문에 어쩔 수 없이 분할압축하여 올림.

이 배포본은 appjs 공식 사이트의 배포본을 기초로 하여 제작됨.

따라서 readme.txt 파일을 참조하여 유의사항을 짚어본 후 개발 및 배포할 것.

예제 또한 app.js 에서 만든 예제를 올려두었음.

그럼 app.js 의 재미를 느껴보기 바란다.

조만간 mac 및 linux 용 개발 키트도 만들어 올릴 예정이다.

cfile7.uf.1777D039505C203A0101C8.rar

<

p style=”text-align: left;”>cfile10.uf.184AE639505C203C330869.rar

한번에 받기 (github)

composite / 2012년 9월 21일 / 미분류 / 0 Comments