Number 타입과 String 타입의 +, * 연산 값 질문
284
작성자 없음
작성한 질문수 0
var dataTypeNum = "10",
dataTypeStr = 10,
sum = dataTypeNum+dataTypeStr,
multiply = dataTypeNum*dataTypeStr;
console.log(sum, typeof sum)
console.log(mul, typeof mul)
// 위의 출력값
// 1010, string
// 100, number
//
// 출력값이 +는 string, *는 number 로 나뉘는게 맞는 건가요?
답변 1
0
지나가다 강의를 보다 답변드립니다. 미숙한 점이 있을 수도 있으니 양해바랍니다.
일단 데이터를 할당할 때 문자타입에 " " 를 하고 숫자는 하지 않습니다.
현재 할당하신 것을 보면 반대로 되어있네요.
출력값이 +는 문자 *는 숫자로 나뉘는 것이 아니라
뒤에 나오겠지만
현재 할당해놓으신 수식을 보면
sum = num + str 인데 할당이 반대로 되어있으니
할당된 값으로 적어보겠습니다.
sum = "10" + 10
mul = "10"*10
이렇게 적혀있는 것이구요
문자열에서만 + 덧셈 연산자를 할 때
10 + 10 = 20 이 아니라 숫자 10 과 문자열 10의 합은
이어붙이는 식의 연결을 의미하여
1010 이 되고 "1010" 이 출력되는 것입니다.
그러므로 타입 또한 String이 되는 것이구요.
숫자의 덧셈에서는 예를 들어
5+5 = 10 이면 10의 데이터 타입은 Number입니다.
곱셈에서는
자바스크립트가 문자열이어도 숫자는 알아서
숫자로 바꾸어 계산을 해줍니다. (뺄셈 나눗셈도 마찬가지)
그리하여 10*10 이 100이 나오게 되어
데이터 타입이 Numder가 나오게 되는 것이구요.
이해하시는데 도움이 되셨길 바랍니다.
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
2
123
2
섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.
1
172
2
섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.
0
157
2
섹션 1. 6번째 강의 질문입니다.
1
264
1
선생님 Objcet 질문 있습니다.
0
308
2
forEach문을 활용한 코딩시간 풀이
0
624
1
sort 코딩 시간 풀이
0
299
1
코딩 시간 풀이 올려봅니다.
0
234
1
인덱스 코딩시간 문제풀이
0
389
1
for문 코딩 시간 답제출
0
313
1
3:39 sort에 들어가서 one,two 파라미터질문입니다.
0
199
0
퀴즈 질문 및 정답
0
365
1
오브젝트
0
292
1
인스턴스 목적
1
248
1
[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?
0
277
1
Undefined === Null; // true???
0
199
1
indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.
0
1041
5
length 값 변환 논리에 대한 질문입니다.
0
219
1
상수 변수 선언에 대해
0
241
1
코딩 시간 (for문) 풀이
0
259
1
Object vs object
1
508
1
코딩 시간 풀이입니다.
0
203
1
log(add(1, 2, 3, 4));
0
186
1
코딩시간 답 제출
0
202
1





