자바스크립트 기초문법2 -데이터 타입-

1. 데이터 타입

 

자바스크립트의 모든 값은 특정한 데이터 타입을 가진다.

 

크게 원시 타입(primitive type)과 참조 타입(reference type)

 

 

 

console.log(typeof (변수명))으로 해당 변수의 데이터 타입을 출력 가능함

 

 

 

2. number

 

정수 또는 실수형 숫자를 표현하는 자료형

 

const a = 13

const b = -5

const c = 3.14 //float - 숫자표현

const d = 2.998e8 //2.998*10^8=299800000

const e = Infinity

const f = -Infinity

const g = NaN //Not a Number을 나타냄

 

NaN은 Not-A-Number로 숫자가 아님을 나타내는 값

 

Number.isNaN()은 주어진 값이 number이고 NaN이면 true, 아니면 false를 반환

 

 

NaN은

 

숫자로서 읽을 수 없는 경우(parseInt("어쩌구"), Number(undefined)) 

 

결과가 허수인 경우(Math.sqrt(-1))

 

피연산자가 NaN(7**NaN)

 

정의할 수 없는 계산식인 경우(0*Infinity)

 

문자열을 포함하면서 덧셈이 아닌 계산식('가'/3)

 

 

3. string

 

문자열을 표현하는 자료형

 

작은 따옴표와 큰 따옴표 모두 사용가능

 

 

문자열끼리 곱셈, 나눗셈, 뺄셈은 안되지만

 

덧셈으로 두 문자열을 붙일 수 있다

 

 

따옴표를 사용하는 경우 줄바꿈이 불가능하다

 

 

그래서 escape sequence \n를 삽입하면 줄바꿈이 가능함

 

 

3-1) template literal

 

ES6+부터 도입한 여러 기능을 제공하는, 내장된 표현식을 허용해주는 문자열 작성 방식

 

키보드 숫자 1 왼쪽에 ` `(backtick)으로 문자열을 나타내면 여러 기능을 사용할 수 있음

 

여러 줄에 걸쳐 문자열을 정의할 수 있으며, 자바스크립트의 변수를 문자열 안에 바로 연결할 수 있음(f-string)

 

표현식은 ${expression}을 넣으면 표기해줌

 

https://eblee-repo.tistory.com/38

 

[JavaScript] ES6 템플릿 리터럴에 대해 알아보자!!

[JavaScript] ES6 템플릿 리터럴에 대해 알아보자!! 안녕하세요. 이번 포스팅은 ES6의 템플릿 리터럴과 활용법에 대해 알아봅니다. Template literals 템플릿 리터럴 은 내장된 표현식을 허용하는 문자열

eblee-repo.tistory.com

 

먼저 파이썬의 f-string이 가능함

 

근데 " "로 붙이면 f-string은 불가능

 

 

``으로 붙이면 f-string이 가능

 

 

escape sequence 없이도 줄바꿈을 가능하게함

 

 

${expression}으로 수식을 계산한 값을 연결해줌

 

 

4. empty value

 

값이 존재하지 않음을 표현하는 값

 

자바스크립트에서는 null과 undefined가 존재한다

 

동일한 역할을 하는 두개의 키워드가 존재하는 이유는 단순 설계 실수라고함

 

큰 차이를 두지 않고 interchangeable(서로 교환가능)하게 사용할 수 있도록

 

 

4-1) null

 

null 값을 나타내는 특별한 키워드

 

변수의 값이 없음을 의도적으로 표현할 때 사용하는 데이터 타입

 

 

4-2) undefined

 

값이 정의되어 있지 않음을 표현하는 값

 

변수 선언 이후에 직접 값을 할당하지 않으면, 자동으로 할당되는 값(최초 default 초기화값)이다

 

 

4-3) null과 undefined의 차이점?

 

typeof 연산자를 통해 타입을 확인하면..

 

null은 object로 출력하고, undefined는 undefined로 출력함

 

 

null이 원시타입(primitive type)임에도 object로 출력하는 이유는 자바스크립트 설계 당시의 버그를

 

지금까지도 해결하지 못한 것이라고함

 

이미 null타입에 의존하는 많은 프로그램들이 망가질 수 있어서 쉽게 해결할 수 없다고함

 

 

5. boolean

 

참과 거짓을 표현,

 

true, false가 존재한다

 

 

파이썬에서는 True, False로 썼지만.. 자바스크립트에서는 모두 소문자 true, false로 써야함

 

 

조건문 또는 반복문에서 유용하게 사용가능

 

조건문 또는 반복문에서 boolean이 아닌 데이터 타입은 자동 형변환 규칙으로 true, false로 바뀐다

 

 

파이썬이랑 대충 비슷하네... 빈 값이나 null, undefined는 false이고 다른건 true

 

파이썬도 object는 항상 true인가..?는 모르겠는데

 

 

 

 

 

 

TAGS.

Comments