inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 비기너: 튼튼한 기본 만들기

8. 데이터 타입(Data Type)

Number 타입과 String 타입의 +, * 연산 값 질문

284

작성자 없음

작성한 질문수 0

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 로 나뉘는게 맞는 건가요?

oop javascript

답변 1

0

EH

지나가다 강의를 보다 답변드립니다. 미숙한 점이 있을 수도 있으니 양해바랍니다. 

일단 데이터를 할당할 때 문자타입에 " " 를 하고 숫자는 하지 않습니다. 

현재 할당하신 것을 보면 반대로 되어있네요. 

출력값이 +는 문자 *는 숫자로 나뉘는 것이 아니라 

뒤에 나오겠지만 

현재 할당해놓으신 수식을 보면 

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