Javascript에서 Null 대 정의되지 않음
소개
null
와 undefined
모두 무의 개념을 표현합니다. 그러나 그들은 다른 방식으로 아무 의미가 없습니다.undefined
는 아무도 그것이 무엇이어야 하는지 말하지 않았기 때문에 아무것도 아닙니다. null
는 누군가가 아무것도 아니어야 한다고 말했기 때문에 아무것도 아닙니다. undefined
는 암시적으로 아무것도 아니며 null
는 명시적으로 아무것도 아니라고 말할 수 있습니다.문제는 명시적으로 무언가를
undefined
로 설정할 수 있다는 것입니다. 그렇다면 둘 다 필요한 이유는 무엇입니까?저는 Lucas Paganini입니다. 이 웹사이트에서는 2주마다 웹 개발 튜토리얼을 공개합니다. 관심있는 내용이 있으시면 좋아요를 남겨주시고 뉴스레터를 구독해주세요.
둘 다 필요한 이유
그렇다면 둘 다 필요한 이유는 무엇입니까?
좋아, 당신의 영양이 이상적이지 않다고 상상해 봅시다. 그리고 영양사인 Paula는 과일을 더 많이, 하루에 적어도 3개의 과일을 먹으라고 말합니다. 그런 다음 그녀는 어떤 날에는 3개 미만의 과일을 먹어도 괜찮지만 주당 평균은 3개 이상이어야 한다고 말합니다.
그래서 당신은 당신의 과일을 매일 추적하고 있습니다.
Today
👇
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | -------------------- |
| 4 | 2 | 1 | 3 | 5 | | | Average = 15 / 5 = 3 |
미래의 날들은
undefined
아직 일어나지 않았기 때문에 우리는 그 안에 무엇을 넣어야 할지 모릅니다. Today
👇
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | -------------------- |
| 4 | 2 | 3 | 1 | 5 | | | Average = 15 / 5 = 3 |
👆 👆
undefined
지난 2일을 추적하는 것을 잊었습니다.
Today
👇
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | ------------------- |
| 4 | 2 | 3 | ? | ? | | | Average = ? / 5 = ? |
👆 👆
undefined
0
는 주간 평균을 엉망으로 만들 수 있기 때문에 넣을 수 없습니다. Today
👇
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | --------------------- |
| 4 | 2 | 3 | 0 | 0 | | | Average = 9 / 5 = 1.8 |
👆 👆
undefined
그리고 그녀는 당신이 그것을 채우는 것을 잊었다고 생각할 것이기 때문에 그것을 비워 둘 수 없습니다(
undefined
). Today
👇
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | ------------------- |
| 4 | 2 | 3 | | | | | Average = 9 / 3 = 3 |
❌ ❌ 👆 👆
error undefined
그래서 당신은 그 날에 뇌졸중을 일으켜 무시해야 한다고 그녀에게 알렸습니다.
Today
👇
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | ------------------- |
| 4 | 2 | 3 | - | - | | | Average = 9 / 3 = 3 |
👆 👆 👆 👆
null null undefined
그것은
null
와 undefined
가 공존하는 것입니다.하나는 채우는 것을 잊었기 때문에 오류가 될 것입니다. 다른 하나는 무시해야 한다고 명시적으로 표시했기 때문에 유효합니다.
❌
| Thu |
| --- |
| |
👆
undefined
✅
| Thu |
| --- |
| - |
👆
null
유형()
또 다른 차이점은
undefined
가 기본 값이고 기본 유형이라는 것입니다. typeof undefined
를 수행하면 "undefined"
가 됩니다. 그러나 null
는 기본 값일 뿐이며 typeof null
를 수행하면 "object"
가 됩니다.typeof undefined;
//=> "undefined"
typeof null;
//=> "object"
비교
둘 다 "거짓말"이므로 추상적 동등성을 사용하면 동등합니다.
// Abstract equality
null == undefined;
//=> true
// Strict equality
null === undefined;
//=> false
무효
또한 "nullish"이므로 "nullish"연산자를 사용할 수 있습니다. 향후 기사에서 이 주제를 더 깊이 탐구할 수 있습니다.
undefined ?? null ?? '' ?? null;
//=> ""
let x = null;
x ??= 'test 1';
x ??= 'test 2';
//=> "test 1"
결론
내가 말한 모든 것에 대한 참조는 참조에 있습니다.
도움이 되셨다면 [Tweet me](https://twitter.com/LucasPaganini), 도움이 되셨다면 구독해 주세요.
당신은 또한 우리를 고용할 수 있습니다. 우리는 디자이너와 개발자로 구성된 팀이며 프로젝트에서 원격으로 작업할 수 있습니다. 관심이 있으시면 lucaspaganini.com으로 이동하십시오.
좋은 하루 보내시고 곧 뵙겠습니다
참조
Reference
이 문제에 관하여(Javascript에서 Null 대 정의되지 않음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lucaspaganini/null-vs-undefined-in-javascript-2lfn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)