JavaScript는 전 세계 수백만 명의 프런트엔드 개발자들 사이에서 가장 사랑받는 언어이지만 다른 도구와 마찬가지로 단점도 있습니다.
null에 typeof 연산자를 사용하면 어떤 일이 발생하는지 궁금한 적이 있습니까? 음, 이것은 JavaScript에서 가장 이상하고 혼란스러운 것 중 하나입니다.
typeof 연산자는 문자열을 유형으로 반환하므로 "Hello World"와 같은 리터럴과 잘 작동합니다. 숫자 및 부울도 마찬가지입니다.
그러나 null의 경우 null 또는 정의되지 않음과 같은 결과가 반환될 것으로 예상할 수 있습니다. 그렇죠? 하지만 null에 대해 typeof 연산자를 사용하면 실제로 객체.
를 반환한다는 사실에 놀랄 수도 있습니다.이 결과는 이상해 보이며 개발자, 특히 JavaScript를 처음 접하는 개발자에게 쉽게 혼란을 줄 수 있습니다.
그런데 JavaScript는 왜 그렇게 하는 걸까요?
이를 이해하려면 1990년대 자바스크립트 초기로 돌아가야 합니다.
당시 언어가 처음 개발될 때 디자인에 실수가 있었습니다. null 값에는 객체에 사용된 것과 유사한 특수 내부 코드가 제공되었습니다. 결과적으로 typeof 연산자가 null을 검사하면 이를 객체로 잘못 식별합니다.
의도하지 않은 오류였지만 논리에 어긋나기 때문에 여전히 버그로 간주됩니다.
안타깝게도 이 버그는 너무 오랫동안 존재했기 때문에 지금 수정하면 현재 동작에 의존하는 기존 코드가 많이 손상될 가능성이 높습니다.
그러나 시간이 지나면서 많은 개발자들이 이를 받아들이고 해결 방법을 찾는 방법을 배웠습니다.
이것은 아무리 널리 사용되는 프로그래밍 언어도 완벽하지 않다는 점을 우리 모두에게 상기시켜 줍니다.
이러한 단점을 이해하고, 더 나은 개발자가 되어, 미래 세대를 위해 더욱 안정적이고 오류 없는 코드를 작성하는 것이 아이디어입니다.
웹 개발 및 AI와 관련된 더 많은 콘텐츠에 대한 최신 소식을 받으려면 언제든지 저를 팔로우하세요. 함께 배우고 성장해요!
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3