336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 프로그래밍 공부를 C언어로 시작하고 비교 연산자에서 같다라는 표현은 == 이 연산자를 사용해야 한다고 배우고 줄곧 ==(동등연산자, equality operator)만을 사용했었습니다.

 그러던 어느날 다른 분 자바스크립트 소스를 보다 ===(일치연산자, identity operator)를 사용 하는 걸 보고 궁금해서 알아보게 되었고, 알아본 것을 같이 공유하고자 이 글을 포스팅하게 되었습니다!

 

== vs ===

 자바스크립트에서는 == 연산자를 사용시에 type이 다를 경우에는 자동으로 형변환을 해서 비교를 한다고 합니다.

위에 예제에서 9,10,11번 라인을 보면 false가 예상되는 비교지만 실질적으로는 자동으로 형변환되서 true가 출력되는걸 확인 할 수 있습니다. 그리고, 8번 라인의 경우에는 type이 같고 값도 같으니 당연히 true가 출력되는걸 확인할 수 있고, 12번 라인의 경우에는 type은 같으나 값이 달라 false가 출력되는걸 확인할 수 있습니다.

 

 반면에, === 연산자를 사용시에는 type이 달라도 형변환이 이루어지지 않기 때문에, type이 다르다면 당연히 다른값이 되며, 우리가 실질적으로 원하는 비교를 한다고 보시면 됩니다. 그래서 16,17,18번 라인을 보면 형변환이 되지 않으니 당연히 number와 string은 같을 수 없기에 false가 출력되고, 15번 라인의 경우에는 타입이 같고 값도 같기 때문에 true가 출력되고, 19번 라인의 경우에는 타입은 같지만 값이 달라 false가 출력되는 것을 볼 수 있습니다.

 

 

 저 같은 경우에는 숫자를 비교할 경우에 저도 모르게 string으로 선언된 1과 number로 선언된 1이 다른 값이라고 생각해야되는데 같다고 생각해서 사용을 했었습니다. 예를 들어 서버에서 가져온 데이터가 문자열('1')로 넣어있든 숫자(1)로 넣어져있든 == 연산자로 비교하여 같다고 처리를 했었습니다. 이걸 공부하면서 이처럼 사용하던게 틀리다고는 하기엔 애매하지만 지양해야하는 방식이란걸 생각되며, 앞으로는 type도 같아야 된다라고 생각하면서 === 연산자를 사용하여 비교를 해야겠다라는 생각을 하게 되었습니다. 

 

 이 글을 보신분들은 자바스크립트에서 같다라는 비교연산자를 사용하실때 한번 더 생각해보시면 좋을것 같습니다ㅎㅎ

해당 포스팅이 도움이 되셨기를 바라며 공부하다가 찾아본 다른 예시를 몇개 실행해본 것을 아래 공유해봅니다.

 이중에 0==-0, 0===-0 의 결과 true와 NaN==NaN, NaN===NaN의  결과 false는 어떻게 이 결과가 나오는지 사실..

잘 모르겠습니다.. 나머지는 그래도 어느정도 예측을 해볼만 한데 이 두 녀석은 잘 모르겠네요..ㅠ,ㅠ

 

== vs ===

 

 

 

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 유튜브를 보다가 얼마전에 알게된 웹 코딩툴을 하나 소개하려합니다.

 UI도 깔끔하고 간단한 무언가를 보여줄때라던지 테스트할때 정말 좋은 것 같아 소개해봅니다!

 

 구글에서 repl이나 repl.it 을 검색하면 최상단에 검색결과가 나오고 클릭해서 접속 할 수 있습니다.

 

또는 주소창에서 https://repl.it 을 바로 입력해도 접속 할 수 있습니다.

 

딱히 의미는 없지만, 검색해서 들어가면 로그인창으로 바로 이동하고 주소를 입력해서 접속하면 위와 같은 홈화면으로 이동합니다.

처음 하는 이용자는 당연히 Sign up을 클릭해서 회원가입을 해주도록 합니다.

(회원가입 과정이 귀찮을수 있지만 회원가입 절차도 간단하고, 필자는 그 이상의 가치가 있다고 생각합니다.)

 

 

위와 같이 이름, 이메일, 패스워드만 입력해서 가입을 하거나 구글,깃허브,페이스북을 연동해서 가입하셔도 됩니다.

필자는 구글연동으로 해보았습니다.

(회사정보 같은거는 따로 입력 안하고 그냥 SAVE를 누르셔도 상관없습니다.)

 

그럼 다음과 같은 화면으로 넘어가고 Quick Start Guide를 누르시면 가이드 페이지로 넘어가고 Start coding no를 누르시면 시작 하는 화면으로 넘어갑니다.

(가이드페이지 URL : https://repl.it/site/docs/misc/quick-start )

 

 

다음과 같은 페이지가 뜨고 해당 페이지에서 원하는 언어를 선택하면 코딩을 할 수 있는 페이지로 넘어갑니다.

(필자는 간단하게 보여주기 위해 HTML을 선택했습니다.)

 

왼쪽 상단에 아이디와 프로트 명이 나오며 프로젝트명과 설명은 수정이 가능합니다.

 

 

그리고 html 코드에 <h1>안녕하세요</h1> 을 <body> 태그 안에 작성하고 상단에 run을 클릭하면 오른쪽 화면에 결과를 볼수 있습니다. (console 탭에서는 console 내용도 확인 할 수 있습니다.)

왼쪽에 폴더와 파일도 등록,삭제,수정 할 수 있으며 다른 코딩툴을 쓰는것 처럼 이용하실 수 있습니다.

간단하게 html 말고 css와 js를 수정후 결과물을 확인해보면 다음과 같습니다.

 

css 코드 작성후 run → 결과 확인
javascript 코드 작성후 run → 결과 확인

 

이 처럼 편리하게 간단한 소스를 테스트 해볼 수 있습니다.

그리고 상단에 my repls를 선택하면 그동안 작업한 프로젝트를 볼수 있습니다.

 

 

다음과 같이 그동안 프로젝트를 관리할수 있어, 정말 좋은 웹 코딩 툴이라고 생각이 됩니다.

Repl.it이라는 웹 코딩툴을 간단하게 소개해드렸는데요, 도움이 되셨으면 좋겠습니다.

 

아 추가로 상단에 +new repl 버튼을 선택하면 현재 화면에서 팝업으로 새 프로젝트를 생성 할 수 있습니다.

단, 생성을 하면 기존꺼는 사라지고 새로운 프로젝트가 보여지게 됩니다.

(그렇다고 해서 삭제되는것이 아니라, my repl에 가잘 간직 되어 있는 것을 볼 수 있습니다.)

 

그리고 이 작업들이 임시로 되는게 아니라 수시로 저장이 되고 계정에 프로젝트 별로 저장이 되어 관리도 할 수 있어, 정말 좋다고 생각이 됩니다.

 

깃허브와도 연동할 수 있는것 같고, 다양한 언어들을 사용 할 수 있으니, 한번 사용해보시면 좋을것 같습니다.

 

오늘도 좋은 하루 되시고, 행복한일만 있으시길 바라겠습니다!

 

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


 테이블에서 <tr>에 onclick을 넣다보면 일부 td에선 안쓰고 싶을때가 있습니다..

 예를들어 체크박스라던지 다른 이벤트박스라던지 머 그런것들을 쓸 때 입니다.

 그때는 다음과 같이 특정 td에 onclick="event.cancelBubble=true" 를 넣어서 해당 td에선 이벤트를 막아주는 방법이 있습니다.


 간단하게 예를 들어보면


 1) 다음과 같은 테이블에 tr에는 onclick="alert('클릭')이 선언되어 있고 td에 체크 박스 2개가 있습니다.


 2) 첫번째 체크박스를 클릭하면 다음과 같이 alert 창이 뜨고 


 3) 그 후에 다음과 같이 체크가 됩니다.


 4) 반면, 두번째 체크박스를 클릭하면 onclick="event.cancelBubble=true"가 선언되어 있기 때문에 alert창이 뜨지 않고 체크만 됩니다.



 부족한 포스팅이지만, 해당 포스팅이 도움이 되시길바라며...

 오늘도 좋은하루되세요~


 아 그리고 별건 아니지만 테스트 할수 있도록 샘플 파일을 올려두겠습니다.

 (이상한 파일 아니니 안심하셔도 됩니다!ㅎㅎ)


test.html


+ Recent posts