[Javascript] 데이터 타입과 형 변환

여정이·2023년 7월 13일

자바스크립트

목록 보기
2/8
post-thumbnail

스파르타 코딩강의 : JavaScript 문법 종합반 1주차 - 데이터 타입과 형 변환


✨ 이번 글에서 사용할 주요 기능

  • 자료형 별로 변수 선언하기
  • 서로 다른 형태의 변수들이 명시적, 암시적으로 자료형이 변환되는 방법 알아보기
  • 명시적으로 자료형을 변환할 때에는 변환하고자 하는 타입(변환할 값)을 사용한다. (ex. Boolean("true"))

데이터 타입

1. 숫자 (Number)

  • 정수형
  • 실수형
  • 지수형
  • NaN : Not a Number
    • 숫자가 아님을 나타냄
    • 수학적으로 정의되지 않는 계산을 수행하거나, 숫자가 아닌 값을 숫자로 변환하려고 할 때 발생
  • infinity
// 1. 숫자
// 1-1. 정수
let num1 = 10;
console.log(num1)
console.log(typeof num1)

//1-1. 실수
let num2 = 3.14
console.log(num2)
console.log(typeof num2)

//1-3. 지수
let num3 = 2.5e5 //2.5에 10의 5제곱을 곱함
console.log(num3)
console.log(typeof num3)

//1-4.Nan : Not a number
let num4 = "Hello"/2
console.log(num4)

//1-5. infinity
let num5 = 1/0
console.log(num5)
console.log(typeof num5)

let num6 = -1/0
console.log(num6)
console.log(typeof num6)

출력 결과


2. 문자열 (string)

  • 문자의 나열
  • "", ''안의 내용을 문자열로 인식
let str = "Hello world!"
console.log(str)
console.log(typeof str)


//문자열 길이 확인하기
console.log(str.length)

//문자열 결합하기
let str1 = "Hello, "
let str2 = "world!"
let result = str1.concat(str2)
console.log(result)

//문자열 자르기
let str3 = "Hello, World!"
console.log(str3.substr(7, 5)) //str3의 일곱번째부터 5개까지 출력한다
console.log(str3.slice(7, 12)) //str3의 일곱번째부터 12번째 문자까지 출력한다


//문자열 검색
let str4 = "Hello, World1"
console.log(str4.search("World")) //world가 시작되는 ㅈ지ㅓㅁ을 출력

let str5 = "Hello, world"
let result01 = str5.replace("world", "Javascript")
console.log(result01)


//문자열 분할
let str6 = "apple, banana, kiwi"
let result02 = str6.split(",")
console.log(result02)

출력 결과


3. 불리언 (Boolean)

  • 참과 거짓을 나타내는 형식
  • true / false
  • 조건문과 논리 연산자에서 주로 사용된다.
//Boolean : 참과 거짓
let bool1 = true
let bool2 = false

console.log(bool1)
console.log(bool2)
console.log(typeof bool1)
console.log(typeof bool2)

출력 결과


4. Undefined와 null

  • Undefined : 값이 할당되지 않은 변수
  • null : 값이 존재하지 않음(값 자체가 null)\
//undefined : 정의되지 않은
let x;
console.log(x)


//null : 값이 존재하지 않음을 명시적으로 나타내는 방법
let y = null
console.log(y)

출력 결과


5. 객체와 배열 (Object & Array)

  • 객체 : 속성과 메소드를 가지는 컨테이너
    • 중괄호{}를 사용하여 객체 생성
    • 속성값 지정 가능
  • 배열 : 여러 개의 데이터를 순서대로 저장하는 데이터 타입
    • 대괄호[]를 사용하여 배열 생성
//object(객체) : key-value pair
let person = {
    name: "Jeongwon",
    age:20,
    isMarried :false
}
console.log(typeof person);



//array(배열) : 여러개의 데이터를 순서대로 저장한느 데이터 타입
let number = [1, 2, 3, 4, 5]
console.log(number[1]) //배열의 인덱스는 0부터 시작
let fruits = ['apple', 'banana', 'orange']

출력 결과


형 변환

1. 암시적 형 변환

  • 자바스크립트에서 자동으로 수행된다.
  • 일반적으로 연산자를 사용할 때 발생한다.
  • 빈 문자열이나 공백 문자는 0으로 변환
//{}, null, undefined + "1" = 문자열
//숫자 + 문자 = 문자열로 변환
let result1 = 1+"2"
console.log(result1)
console.log(typeof result1)

//문자 + 불리언 = 문자
let result2 = "1"+ true;
console.log(result2)
console.log(typeof result2)

//-. * 연산은 숫자가 문자보다 우선순위가 높음
let result3 = 1-"2"
console.log(result3)
console.log(typeof result3)

let result4 = "2" * "3"
console.log(result4)
console.log(typeof result4)

출력 결과


1. 명시적 형 변환

  • 코드 작성자가 직접 자료형을 변환하는 것
//2. 명시적 형변환
//2-1.boolean
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))
console.log(Boolean(undefined))
console.log(Boolean(NaN))
console.log("-----------------")
console.log(Boolean("False"))
console.log(Boolean({}))

//2-2.문자열
let result5 = String(123)
console.log(result5)
console.log(typeof result5)

let result6 = String(true)
console.log(result6)
console.log(typeof result6)

let result7 = String(false)
console.log(result7)
console.log(typeof result7)

let result8 = String(null)
console.log(result8)
console.log(typeof result8)

let result9 = String(undefined)
console.log(result9)
console.log(typeof result9)


//1-3.number
result10 = Number("123")
console.log(result10)
console.log(typeof result10)

출력 결과

0개의 댓글