JavaScript는 오늘날 가장 인기있는 프로그래밍 언어 중 하나이지만 인기는 언어 자체 특성의 부작용입니다. 언어가 아무리 훌륭하더라도 수천 명의 프로그래머는 여전히 매일 많은 버그를 만듭니다. 지금은 다른 사람들을 비웃지 마십시오. 아마도 당신은 그들 중 하나 일 것입니다.
다음은 몇 가지 짧고 완전 유효한 JS 스 니펫입니다 (콘솔에서 실험 할 수 있음).
코드 사본은 다음과 같습니다.
nan 타입 === '번호'// true
인피니티 === 1/0 // true
0.1 + 0.2 === 0.3 // 거짓, 접두사 괄호에 대해서도 마찬가지입니다.
"3" + 1 // '31'
"3"-1 // 2
당신은 여전히 JavaScript를 믿습니까?
1. JS의 최소값
코드 사본은 다음과 같습니다.
번호 .min_value> 0; //진실
숫자 .min_value는 JavaScript가 표현할 수있는 최소값 (5E-324)에 사용되지만 JS에서 0에서 가장 가까운 숫자입니다.
2. 문자열 연결
코드 사본은 다음과 같습니다.
( "foo" + + "bar") === "foonan"// true
"내가 왜" + typeof + ""// 내가 숫자 인 이유
js는 "foo" + ( + "bar")로 구문 분석하여 "bar"를 숫자로 변환합니다.
3. parseint 기능
코드 사본은 다음과 같습니다.
parseint ('06 '); // 6
parseint ('08 '); // 0 Google의 새 버전이 수정되었습니다.
parseint (null, 24) === 23 // true
4. Null 물체입니까?
코드 사본은 다음과 같습니다.
null 타입 // 객체
객체의 null 인스턴스 // 거짓
5. 컨텐츠로 반환
코드 사본은 다음과 같습니다.
기능 myjson ()
{{
반품
[의 뜻
2
]]
}
myjson (); // 한정되지 않은
반품으로 반환 된 콘텐츠는 반환과 같은 줄에 있어야합니다.
6. 이상한 숫자
코드 사본은 다음과 같습니다.
012 == 12 // 거짓
'012'== 12 // true
"3" + 1 // '31'
"3"-1 // 2
0.1 + 0.2 == 0.3 // false
0.1 + 0.7 == 0.8 // false
0.2 + 0.7 == 0.9 // false
999999999999999999 // 100000000000000000000
9999999999999999999-1 // 100000000000000000000
1111111111111111111111111 // 1111111111111111111110000
7. 이상한 매개 변수
코드 사본은 다음과 같습니다.
기능 안녕하세요 (What) {
경고 (인수 [0]); // 비키
뭐 = "세계";
"hello," + arguments [0] + "!";
}
안녕하세요 ( "Vicky"); // "안녕하세요, 세상!"
8. 사람들이 머리를 잃게 만드는 동등한 신호
코드 사본은 다음과 같습니다.
nan === nan; // 거짓
[] == 거짓; // 진실
""== 거짓; // 진실
null == false; // 거짓
[] ==! [] // true
Window.window == Window // true
Window.window === Window // False, 일부 브라우저는 사실입니다
Window == Document // true, 일부 브라우저는 False입니다
( "0"&& {}) == 0 // false
(0 && {}) == 0 // true
0 == "0"// true
[] == 0 // true