Null 타입
319
작성한 질문수 3
Null 타입은 의도적으로 아무 의미 없는 값을 집어 넣는 것으로 보이는데, 왜 이런 것이 필요한 지 궁금합니다.
답변 5
1
@조영래
저는 undefined가 말 그대로 '정의되지 않았음'을 의미한다면, null은 '비어있음'의 의미를 가진다고 받아들였습니다.
예를 들어 undefined 같은 경우에는
> var foo;
< undefined;
로 출력해보면 아실 수 있듯이 접근을 원하는 값이 '아직' 정의되지 않았음을 표시하려는 맥락에서 (이 경우 언어 기본 스펙 수준에서) undefined라는 특정 값이 할당된 것이고,
null의 경우 '블로그 게시글'이라는 데이터를 구성하는 속성들의 모음(작성자, 본문, 작성 시각 등)을 예시로 들자면 작성자가 회원 탈퇴를 했음에도 그 게시글을 삭제하지 않고 일정 기간 유지시키고 싶을 때, 즉 말 그대로 작성자만 '비어 있음'을 표시하기 위해 null 값을 사용할 수 있을 것 같네요.
맞는 설명인지는 모르겠습니다만, 저는 그렇게 이해하고 넘어갑니다..!
0
값으로 사용된다는 건 당연히 이해는 가는데 의미적으론 이해가 안가네요.
0
짧은 제 지식으로 덧붙여보자면, 박유빈 님이 적어주신대로 NULL은 비어있다는 것입니다. 아스키 코드에서는 0으로 표기합니다.
'정의되지 않음'과 '비어있음'은 다릅니다. 예를 위해서 C언어를 잠깐 가지고 오겠습니다.
C언어에서는 NULL을 자주 씁니다. NULL을 사용하는 경우가 많이 있지만 대표적인 사례로 변수를 초기화하는 과정에서 NULL을 사용합니다. C에서는 변수 초기화 해주지 않으면 그 변수에 임의의 '쓰레기 값'이 할당되게 됩니다.(쓸모없는 값이기 때문에 쓰레기 값이라고 합니다.) JS에서 undefined로 초기화되는 것처럼요. 변수에 쓰레기 값이 들어가는 것을 방지하기 위해 NULL을 할당해주는 것이지요.
이와 같은 개념입니다. undefined는 값으로 사용되지만, 실질적으로는 '아무것도 정의되지 않은 상태'입니다.
하지만 null은 값으로 사용되지만, '텅 빈 상태'로 정의를 해주는 것입니다.
이해에 도움이 되셨으면 좋겠네요.
0
abc나 값으로 들어갈 만한 숫자들은 보통은 어떤 의미를 가지잖아요. 숫자는 양이나 어떤 수치를 나타낼 것이고, 문자는 일반적으로 어떤 의미를 나타낼 텐데 null이라는 게 뭔지 이해가 안갑니다 ㅎㅎ
0
Null 타입의 null도 값입니다. 의미없는 값이 아니라 123이 값이고 "ABC"도 값이듯이 null이라는 값입니다.
왜 이런 것이 필요한지 궁금합니다 ==> 값이므로 값으로 사용하기 위해서입니다.
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
2
109
2
섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.
1
148
2
섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.
0
140
2
섹션 1. 6번째 강의 질문입니다.
1
247
1
선생님 Objcet 질문 있습니다.
0
299
2
forEach문을 활용한 코딩시간 풀이
0
616
1
sort 코딩 시간 풀이
0
292
1
코딩 시간 풀이 올려봅니다.
0
229
1
인덱스 코딩시간 문제풀이
0
382
1
for문 코딩 시간 답제출
0
307
1
3:39 sort에 들어가서 one,two 파라미터질문입니다.
0
194
0
퀴즈 질문 및 정답
0
356
1
오브젝트
0
283
1
인스턴스 목적
1
239
1
[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?
0
269
1
Undefined === Null; // true???
0
194
1
indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.
0
1031
5
length 값 변환 논리에 대한 질문입니다.
0
211
1
상수 변수 선언에 대해
0
235
1
코딩 시간 (for문) 풀이
0
255
1
Object vs object
1
501
1
코딩 시간 풀이입니다.
0
197
1
log(add(1, 2, 3, 4));
0
180
1
코딩시간 답 제출
0
198
1





