자바스크립트에는 여러가지 타입이 존재합니다.( Number , String , Null , Undefined , Boolean ... 등 )
여기서 흔히 자바스크립트의 타입이 무엇인지 확인해보기 위해서는 typeof 연산자를 활용해서 타입을 찾을 수 있습니다.
그럼 한번 타입을 찾아볼까요 ?
결과를 보니 배열의 타입은 object라고 나와있습니다.
object는 뭘까요 ?
그 전에 알아둬야 할 지식이있습니다. 바로 자바스크립트의 타입에는 원시값과 객체로 나뉩니다. 여기서 object 는 객체입니다.
그럼 원시값은 뭘까요 ? 바로 boolean, number, undefined, string 등이 원시값에 속합니다.
가장 헷갈리는 것이 string 타입의 원소 값을 바꾸고 싶을 때 보통 ' = ' 을 사용해서 바꿔주려고 생각하지만 자바스크립트의 string은 원시값이기 때문에 변경할 수 없습니다!
typeof 연산자는 리턴으로 원시값과 객체를 리턴합니다. 따라서 배열이라고 해서 'array'를 반환하지 않습니다 !
만약 배열인지 아닌지 확인하기 위해선?
Array.isArrya(배열의 이름); 을통해 true 가 반환되면 배열이고 false 가 반환되면 배열이 아닌 것을 알 수 있습니다!
getType
문제
임의의 값을 입력받아 타입을 리턴해야 합니다.
입력
인자 1 : anything
- 임의의 값
출력
- string 타입을 리턴해야 합니다.
1
ex) 'string', 'number', 'boolean', 'object', 'array', 'undefined', 'null', 'function'
주의 사항
- 자바스크립트에서 array, null 타입은 존재하지 않지만, 이 둘을 구분하여 출력합니다.
입출력 예시
let output = getType('hello');
console.log(output); // --> 'string'
output = getType(10);
console.log(output); // --> 'number'
output = getType(true);
console.log(output); // --> 'boolean'
output = getType({ name: 'Steve' });
console.log(output); // --> 'object'
output = getType([100, 200, 300]);
console.log(output); // --> 'array'
자바스크립트에서 array, null 타입은 존재하지 않지만 둘을 구분하여 출력해보겠습니다 !
function getType(anything) {
// TODO: 여기에 코드를 작성합니다.
let type ='';
if(Array.isArray(anything)=== true){
type = 'array';
}
else if(anything === null){
type ="null"
}
else
type = typeof(anything);
return type;
}
오늘은 이렇게 자바스크립트의 타입을 알아보는 문제를 풀어보았습니다.
오늘도 열공!!
'HTML-CSS-JavaScript > JavaScript' 카테고리의 다른 글
[javascript] Scope에 대해 (2) | 2023.03.02 |
---|---|
[javascript] 원시 자료형과 참조 자료형 , 얕은 복사와 깊은 복사 (0) | 2023.03.02 |
[javascript] 배열 join() 사용하기 (0) | 2023.02.28 |
[javascript] 배열 slice() 사용하기 (0) | 2023.02.27 |
[javascript] for of 문이란 ? (0) | 2023.02.27 |