Programming/JavaScript
리턴이 없는 함수가 존재하지 않는 자바스크립트, Undifined vs Null
pongsoyun
2019. 11. 7. 00:38
리턴이 없는 함수가 존재하지 않는 자바스크립트, Undifined vs Null
자바스크립트 화살표함수를 잘못 사용해서 return도 없이 작성했다가,
[ ] 이 결과로 나왔고typeof(filtered2)
가 Object 인것을 확인했다.
var filtered2 = [12, 5, 8, 130, 44].filter((value) => { value >= 10; });
// 올바른 코드는 // var filtered2 = [12, 5, 8, 130, 44].filter( value => value>=10 );
console.log(filtered2); // [ ]
즉, C, java 는 void type이 존재하지만 자바스크립트는 return 이 없으면 컴파일러가 알아서 undefined를 리턴해준다.
Undifined vs Null
: 둘은 등록과 저장 여부의 관계이다.
• Undifined
: 선언은 되었지만 초기화도 정의도 되지 않은 변수의 Data Type.
• Null
: 선언, 등록을 하는 키워드로 값은 값이지만, 아무런 값을 갖지 않았음을 표현하는 Data Type.
typeof(null) 은 object라는 것에 주의하자.