undefined가 모든 것의 주인이고 null이 none인 이유

자신을 반복하고 싶습니까? 어떤 식으로든 텍스트, 음성 또는 코드?
권리 없다? 저도요

경이로운 개발자가 되려면 우리를 이어받는 개발자가 더 쉽게 접근할 수 있는 수준의 복잡성과 변형을 유지해야 합니다.
nullundefined.의 차이점부터 시작하겠습니다.
개체의 변수 또는 속성에 값이 없으면 undefined.변수가 null,가 되려면 null 값을 할당해야 합니다.
따라서 변수에 이미 값이 없으면 다른 유형으로 다시 선언할 필요가 없습니다. 결국 둘 다 같은 의미입니다.

따라서 자신을 반복하는 것은 무의미합니다.null undefined, 또는 0, 와 같은 다른 잘못된 값과 구분하기 위해 ''false. 두 유형을 모두 확인해야 하는 상황이 더 자주 발생합니다.

if (value === undefined || value === null) {
  // Write some fallback code
}


동일한 "if"문에서 다른 값을 확인하면 어떻게 될까요?
숫자 조합이 폭발하죠?

질문입니다.document.querySelector('badtagname')는 무엇을 반환합니까?
답변이 어려우시면 스포일러 주의합니다.

스포일러!
돌아간다null.자, 그것은 고통입니다.
그러나 다음과 같이 무시할 수 있습니다.

const element = document.querySelector('badtagname') || undefined;


이렇게 하면 null 값이 코드의 나머지 부분으로 누출되는 것을 방지할 수 있습니다.
마찬가지로 DOM 트리에서 값을 가져오는 다른 함수도 관리할 수 있습니다.

숫자 값이나 부울로 작업할 때는 주의하십시오. 0undefined.로 변환합니다.
그런 경우에는 typeof를 사용하십시오.

value = typeof value === 'number' ? value : undefined;


이 블로그를 알아내는 동안 친구가 질문을 했습니다.
나는 다른 언어로 null를 사용하는데 그것은 나에게 친숙하다.
게다가 undefined.에 비하면 4글자에 불과하다.
그렇다면 JavaScript에서 계속 사용하지 않겠습니까?

그에 대한 해결책은 하나뿐이었습니다.
개발자로서 우리는 현재 작업 중인 언어나 기술의 방식을 채택해야 합니다.undefined는 항상 그 자리에 있을 것입니다.
예를 들어 myObject.iDoNotExist,와 같이 누락되었을 수 있는 일부 속성에 액세스하려는 경우
그리고 null 값을 할당하면 뒤죽박죽 엉망이 됩니다.

JavaScript는 처음부터 어떤 이유로 nullundefined를 모두 생성했지만 다른 언어는 둘을 구분하지 않습니다. 이에 대한 답변이 있으시면 아래에 댓글을 달아주세요!

글쎄요, 대답해야 할 마지막 질문이 하나 있을 것 같습니다.
JSON에서 null를 사용할 수 있습니까?
간단한 답변undefined 유형은 JSON 구조에 존재하지 않습니다.

우리가 할 수 있는 것은 속성null에 호버 할당{"someProperty": null}.하는 것입니다.
그러나 속성 someProperty에 값이 없으면 제외하는 것이 좋습니다.
이러한 속성은 추가 이점을 제공하지 않지만 네트워크를 통해 전송되거나 파일에 저장되는 페이로드 크기를 증가시킵니다.

다음 코드는 계속 사용할 추가 검사를 추가할 수 있습니다undefined..
.eslintrc에 추가하십시오.

{
  "plugins": [
    "no-null"
  ],
  "rules": {
    "no-null/no-null": 2
  }
}


그게 다야!
이것으로부터 어떤 가치를 얻었다면 친구들과 공유하고 내가 놓친 것이 있으면 알려주세요!

좋은 웹페이지 즐겨찾기