1-6 데이터 타입
오늘 배울 타입 : 원시형 (primitive)
→ number, string, boolean , null,. undifined
number: 숫자
string: 문자
boolean : 참/거짓 (true/false)
null : 존재여부
undifined : 찾을 수 없다
<aside> 💡 이러한 데이터들은 왜 존재할까?
</aside>
→ 수많은 데이터들 속에서 컴퓨터가 보다 빠르고 효율적으로 처리하기 위해… 라고 교안에 나와있었다. 맞는 말이다.
→ 개인적인 생각을 서술해보자면,
데이터를 구분하여 처리 방식을 달리하기 위해
100, True, ten
여기 이렇게 세 가지의 데이터가 있다고 하자.
각각의 타입을 한번 말해보라고 질문한다면,
분명히 평범한 사람들~~(님들처럼 개발에 미쳐있는 사람들 말고요)~~ 은 100은 숫자, true는 참과 거짓, ten 은 문자열이라고 답할 것이다.
이 문제에 뭐라고 답변을 하였건, 어떠한 타입을 말했다면 정답은 없다.
정답은 바로 “사용자가 어떻게 지정하느냐에 따라 다르겠지요? “ 이다.
나는 100을 문자열로 받을 수도 있고, True 또한 문자열로 받을 수 있다. ten은 문자열밖에 못 되겠지만, 앞 두 데이터는 다르게 될 수 있다는 것이다.
문제는 여기서 발생한다.
자바스크립트에서 변수의 타입은 동적으로 결정되므로, 굳이 파이썬마냥
a= string(300)
이런 짓을 안 해줘도 된다.
변수에 할당되는 값에 따라 자동으로 타입이 지정된다
const ramonaage = 21;
const baskinrobbinsnname = '31';
이 경우에 내 나이인 ramonaage= 21로 숫자 타입이 되고, baskinrobbinsname 은 ‘31’로 스트링 타입이 된걸 볼 수 있다.
이때 실험을 해보자 .
const ramonaage = 21;
const baskinrobbinsnname = '31';
console.log(ramonaage + 3);
console.log(ramonaage + '3');
console.log(baskinrobbinsnname + '3');
console.log(baskinrobbinsnname + 3);
아까 말했듯 , ramonaage 는 숫자 타입이고 , baskinrobbinsnname 은 문자열 타입이다.
첫번째 console.log 에서는 숫자 타입에다 숫자 3을 더했고, 두번째에는 문자 3을 더했다.
세번째는 문자 31에 문자 3을 더했고, 네번째는 문자 31에 숫자3을 더했다.
출력결과
숫자 + 숫자 = 연산한다
숫자 + 문자 = 그냥 뒤에 갖다붙인다
문자 + 문자 = 그냥 뒤에 갖다붙인다
문자 + 숫자 = 뒤에 있는 숫자를 문자로 변형시켜 갖다붙인다
파이썬언어의 에로 들자면 4번째에서는 오류를 띄운다. 그런데 아까도 말했듯 자바스크립트의 문자열 타입은 동적으로 결정되므로 오류를 띄우지 않기 위해 뒤의 숫자를 문자로 변형시키는 것으로 보인다.
아무튼 사용자가 의도대로 (연산을 하던가, 문자 뒤에 숫자를 붙이거나) 원하는 작업을 할 수 있게 타입을 구분해 주는 것이다.
'2023 공부한것들' 카테고리의 다른 글
[코딩애플 html/css] 1강 : html 기초와 개발환경 셋팅 (0) | 2023.06.25 |
---|---|
[TIL] 20230623 (0) | 2023.06.23 |
[자바스크립트 문법 뽀개기] 1-4강 : 변수 (0) | 2023.06.23 |
[자바스크립트 문법 뽀개기] 1-3강 : hello world (0) | 2023.06.23 |
[TIL] 20230622 (0) | 2023.06.23 |