리턴이 없는 함수가 존재하지 않는 자바스크립트, Undifined vs Null

2019. 11. 7. 00:38Programming/JavaScript

리턴이 없는 함수가 존재하지 않는 자바스크립트, 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라는 것에 주의하자.