|
유게이 얼굴도장
추천 31
조회 64479
날짜 2020.05.03
|
pupki-pupki
추천 23
조회 48154
날짜 2020.05.03
|
블랙워그래이몬
추천 8
조회 17284
날짜 2020.05.03
|
유리★멘탈
추천 1
조회 15375
날짜 2020.05.03
|
죄수번호-20002
추천 20
조회 46129
날짜 2020.05.03
|
한니발 빌런
추천 61
조회 103981
날짜 2020.05.03
|
루리웹-8648505755
추천 61
조회 54848
날짜 2020.05.03
|
のぞえり 硝子の花園
추천 0
조회 8498
날짜 2020.05.03
|
Crabshit
추천 32
조회 52311
날짜 2020.05.03
|
유리★멘탈
추천 0
조회 6128
날짜 2020.05.03
|
한니발 빌런
추천 65
조회 46650
날짜 2020.05.03
|
슈퍼루리웹맨
추천 14
조회 28134
날짜 2020.05.03
|
????
추천 0
조회 10766
날짜 2020.05.03
|
Aoi tori
추천 54
조회 54653
날짜 2020.05.03
|
호노베리
추천 9
조회 19593
날짜 2020.05.03
|
페도필리아 죽인다
추천 72
조회 60249
날짜 2020.05.03
|
루리웹-4461750988
추천 23
조회 27733
날짜 2020.05.03
|
귀여운유게이쨩
추천 0
조회 7691
날짜 2020.05.03
|
촉툴루
추천 40
조회 24940
날짜 2020.05.03
|
한니발 빌런
추천 0
조회 5227
날짜 2020.05.03
|
쎆쓰드릴황달
추천 169
조회 90779
날짜 2020.05.03
|
루리웹-7446237552
추천 3
조회 12198
날짜 2020.05.03
|
나유타
추천 0
조회 4382
날짜 2020.05.03
|
둥근테 안경
추천 22
조회 30790
날짜 2020.05.03
|
슈퍼루리웹맨
추천 6
조회 14546
날짜 2020.05.03
|
유리★멘탈
추천 0
조회 7256
날짜 2020.05.03
|
사진이사진일픽쳐
추천 110
조회 85188
날짜 2020.05.03
|
앨릿 마가린
추천 1
조회 9039
날짜 2020.05.03
|
본문
BEST
숫자 0 과 문자"0" 인거 자체가 틀린거 아닌가
자바와 자바스크립트는 다릅니다 불. 편. 하네요
자바스크립트는 == 비교가 너무 관대해서 이런 밈도 있음
Fucking 자바스크립트 그래서 나는 항상 === 을쓰지
자바스크립트만 가능한듯ㅋㅋㅋ
마! 삼단논법 모르나!
근데 아니래 ㅋ 자바 안배워서 난 모름
등호인데 transitive 가 아니야?? 왜??? 개불편하겠네;;;;;
js가 이상한데서 관대해서 그럼.
저 동작의 정확한 이유는 자동 형변환에 있음 JS는 비교 연산자의 좌 우 값의 형(type)이 다를 경우 형을 자동으로 변환해 비교하는 기능이 있는데 이것 때문에 저런 비논리적으로 보이는 일이 발생하지... 예에서 0 == "0" 은 우측의 "0"은 문자형이기 때문에 숫자형인 0과 비교를 위해 "0"을 숫자형으로 변환해 비교함 0 == [] 의 우측 []는 빈 Array인데 Array 안에 값이 없거나 1개인 경우 숫자형으로 변환될 때 0 or 해당 숫자로 형변환이 일어나서 true가 됨 [] == "0" 은 좌 우 모두 숫자형이 아니기 때문에 형변환이 일어나지 않아서 false가 난것
으아악
Fucking 자바스크립트 그래서 나는 항상 === 을쓰지
마! 삼단논법 모르나!
숫자 0 과 문자"0" 인거 자체가 틀린거 아닌가
0 == "0" 0 == [] 0 == "0" == [] [] == "0"
미켈란젤로
자바스크립트만 가능한듯ㅋㅋㅋ
M0MENT0_M0RI
근데 아니래 ㅋ 자바 안배워서 난 모름
M0MENT0_M0RI
자바와 자바스크립트는 다릅니다 불. 편. 하네요
미켈란젤로
js가 이상한데서 관대해서 그럼.
자바는 자바스크립트와는 다르게 원래 스트링 비교자체도 ==로 안되고 함수 써야하는 무지막지한 타입덕후언어이다 요샌될지도몰겠지만
String zero = "0"; if(zero.isEqual(0)){ System.out.println("true"); }
요새도 안돼여 아조시...
자바엔 연산자 오버로딩이 없음 ? 에반디 ; 그냥 계속 C# 써야지 . .
타입체크를 엄격하게 하는건 장점이자 단점이라 뭐라 표현하기 미묘하니... 결국 그냥 쓰던 거 쓰는게 제일 좋다는 결론이 납니다!
C++은 이런 게 되거든오 . . #include <string> bool operator==( const std::string & origin, const int & dest ) { const std::string & tempStr = std::to_string<int>(dest); return tempStr == origin; } 자바에는 이런 거 없어영 ?
유저 디파인 오퍼레이터 말씀하시는거면 그런 거 업습니다... 따로 메소드로 만들던가 해야 해요.
앗아 . . ; Typesc__ript도 있는데 . . ㅠㅠ
ㅋㅋㅋㅋㅋ
그래서 왜 안되는 건가요?
뚱이가 멍청해서
https://stackoverflow.com/questions/47015361/why-is-0-false 간단하게 말하자면 저기서 0은 false 나머지 둘은 true 값을 가진다고 보면 됨. 근데 0=="0" 이 예외로 자바스크립트가 "0"을 0으로 자동캐스팅해버림. 그래서 첫 식이 예외로 false == false 가 되어버림
등호인데 transitive 가 아니야?? 왜??? 개불편하겠네;;;;;
숫자랑 비교하면 자체적으로 형변환 해서 비교해 그럴꺼임
양방향성이 아니에용
그래서 js엔 ===가 있음 그럼 다 False 뜸
삭제된 댓글입니다.
SaintPope
==는 자동형변환 후, 비교고. ===가 값과 형을 비교하는 거였낭.
파이썬을 합시다
자바 스크립트는 극혐이다
자바스크립트는 == 비교가 너무 관대해서 이런 밈도 있음
natsuyoru
그건 대전제가 오류있는거 아닌가 서울은 한국의 수도이다라고 쓰면 말이 되니깐
natsuyoru
맞는 말 아님? 어색한 문장이지만 "한국에는 수도가 있다."
natsuyoru
아 그렇네 위에 내용을 잘못 이해했었네 ㅈㅅ
JS 는 == 판정이 넘 후해서 그래 다른 언어에서 쓰는것처럼 하려면 === 써야됨
근대 사실 js쓰는 사람들은 이전에 형변환 다 돌리는 편이라 ㄱㅊ하긴 함
Typesc__ript를 믿습니다 - 타-맨
뭐여 시파 여기가 중국이냐 ja__vasc__ript랑 typesc__ript도 막게. 미친 . .
그래서 === 안쓰면 웹팩이었나 거기선 워닝 띄우더라...
그래서 제가 파이썬을 좋아합니다
타입스크립트를 쓰십시오
저 동작의 정확한 이유는 자동 형변환에 있음 JS는 비교 연산자의 좌 우 값의 형(type)이 다를 경우 형을 자동으로 변환해 비교하는 기능이 있는데 이것 때문에 저런 비논리적으로 보이는 일이 발생하지... 예에서 0 == "0" 은 우측의 "0"은 문자형이기 때문에 숫자형인 0과 비교를 위해 "0"을 숫자형으로 변환해 비교함 0 == [] 의 우측 []는 빈 Array인데 Array 안에 값이 없거나 1개인 경우 숫자형으로 변환될 때 0 or 해당 숫자로 형변환이 일어나서 true가 됨 [] == "0" 은 좌 우 모두 숫자형이 아니기 때문에 형변환이 일어나지 않아서 false가 난것
형변환을 자동으로 하다니 극혐...
애초에 태생이 전문 개발자가 사용하는 언어가 아니라 웹페이지 안에서 관대하게 동작하는 짧은 스크립트 용이라 언어를 제대로 배우지 않은 사람도 써야했기 때문에 저런 편의성을 준건데 그게 초기 언어의 전파에는 큰 도움이 됨 폭넓게 전파되었기 때문에 지금처럼 많이 사용되고 단점도 개선하고 있는거니... 요즘은 사실 본문 내용같은 케이스를 당하는 개발자 자체가 스스로 낮은 언어 능력 수준을 인증하는 꼴임 lint는 기본이고 type 체크를 strict하게 가져가는건 최근 트렌드에서 기본중에 기본...
윽 자료형에 관대한 언어들 극혐임
Lua : ㅎㅎ. . .ㅈㅅ . . .ㅋㅋ!
number, stirng, function, boolean을 제외한 모든 것슨 리스트 .
와 루리웹에 프로그래밍 관련된 사람들 되게 많네