🙋목표: 자바스크립트 기초를 공부하고 부족한 부분을 채우자.

1. 데이터 타입


🙌 자바스크립트에는 다양한 데이터 타입이 있다.

✔️ 기본 자료형 (Primitive) 인 여섯 가지 데이터 타입

  • String (문자열)
  • Number (숫자)
  • Boolean (true/false)
  • Undefined
  • Null
  • Symbol (ECMAScript 6 에 추가됨)

✔️ 별도로 Object(객체) 도 있음

2. typeof 연산자


앞에서 데이터 타입은 굉장히 많은 것들이 있었다.

그런데 간혹 콘솔창에 변수에 할당된 데이터의 타입이 궁금할 때가 있다. 이럴 때 typeof 를 이용하는 것이다.

typeof 는 연산자이다. 난 연산자인줄 몰랐다.😅 연산자는 다음과 같이 사용한다.

let msg = "message";

console.log(typeof msg); //"string"
console.log(typeof 100); //"number"
  • tyeof null"object"
  • tyeof []"object"
  • null 이라는 데이터는 타입이 object이다
  • null은 빈 객체를 참조하고 있다는 것을 알 수가 있다.🚀
  • 배열도 마찬가지이다.
  • 사실 배열은 확장된 객체로 보면 된다.🚀

3. Number (숫자형)


1 + 1 // 더하기
2 - 1 // 빼기
2 * 4 // 곱하기
6 / 2 // 나누기

더하기는 왼쪽 값과 오른쪽 값을 더해서 하나의 값을 만든다는 점에서 이항 연산자 부른다.

하지만 이항 연산자 중에서도 산수를 하는 것이기 때문에 정확히 산술 연산자라고 부른다.

4. String (문자열)


문자열 데이터 타입은 " " 혹은 ' ' 로 감싼 모든 표현을 말한다.

// 문자열 데이터 타입 변수 선언
let name = "wecode";
 
// .length >> 문자열이 몇 글자로 되어 있는지 확인
name.length // 5
 
// .toUpperCase >> 문자열을 대문자로 출력
name.toUpperCase() // "WECODE"
 
// .indexOf >> 특정 텍스트의 포함 유무 및 위치 확인
name.indexOf('c') // 2
name.indexOf('j') // -1
  • 다른 프로그래밍 언어에서는 서로 다른 타입인 숫자형과 문자열은 서로 더하거나 뺄 수 없다.
  • 하지만 자바스크립트는 타입이 다이나믹한 언어이기 때문에 에러나 나지않고 적용이 잘 되는 것을 볼 수 있다.
  • 이런 것을 프로토타입에서 개발을 빠르게 하고 싶을 때는 유용하겠지만 역시나 프로젝트를 진행할 때 소통이 안되면 런타임에서 에러가 날 확률이 많을 것이다.

우리는 문자열이나 숫자에 따라 결과가 많이 달라지기 때문에 타입스크립트를 배우기 전까지는 데이터 타입을 정확하게 표현하는 것에 주의를 기울이자.🚀

5. Boolean


  • boolean은 단 두개의 데이터로 이루어진 데이터 타입이다. (참과 거짓)
  • boolean 데이터 타입이 유용하게 사용되는 곳은 조건문과 반복문이다.
  • 다른 데이터 타입이 boolean 값으로 변환되는 경우도 있다.

:: 여러 데이터 타입의 boolean 값 변환

✔️ true 로 변환되는 값

  • 문자열 : 비어 있지 않은 모든 문자열
  • 숫자 : 0 이 아닌 모든 숫자
  • 객체: 모든 객체 ({ }[ ] 포함)

✔️ false 로 변환되는 값

  • 문자열 : " " (빈문자열)
  • 숫자 : 0, NaN
  • 객체 : null
  • undefined

:: 조건문에서의 boolean 데이터 값 활용

  • 다른 데이터 타입이 boolean 값으로 변환 되는 것은 아래와 같이 조건문에서 활용될 수 있다.
  • if 조건문은 특정 조건의 true/false 값을 판단하여 if문을 실행한다.

let sam = 3;
 
if (sam === 3) {  //sam === 3 이 true이면
  // 실행
}

let number = 0;
 
if (number) {
  // 실행 안됨
}

6. undefined


undefiend 데이터 타입은 말 그대로 정의되지 않은 데이터 타입이다.

우리가 let , const 키워드를 사용해서 변수를 선언만 하고 값을 할당하지 않았다면 변수는 undefined 가 할당된다.

let person;
console.log(person === undefined); //true
//(선언만 하고 초기화 하지 않았어요...!)

🚨여기서 우리가 const로 변수를 선언만 해보면 에러가 뜬다. 이것을 코드로 한 번 확인해 보자...!

const person;
console.log(person === undefined); //에러🚨
//Missing initializer in const declaration
//const로 변수를 선언할 때에는 반드시 선언 시에 값을 대입해 주어야 합니다.

위 코드에서 볼 수 있듯이 우리가 const 로 변수를 선언하면 let 과 다르게 무조건 값을 넣어줘야 한다. 아니면 에러가 난다.

명심하고 다시 한 번 돌아와서 확인 할 수 있도록 하자🚀🚀🚀🚀🚀

7. null


  • null도 데이터 타입 중 하나이다.
  • 하지만 하지만 null을 가지고 콘솔창에 타입을 확인하면 "object 라고 나온다.
  • 이것은 말 그대로 null 이 객체를 가르키지만 객체가 비어있다는 것과 똑같다. 따라서 "object" 로 나오는 것이다.

8. 객체(object)


  • 마지막, 객체 데이터 타입이다.
  • 객체는 무조건 키(key)값(value) 의 조합으로 이루어진 데이터이다.
  • 객체 작성법은 변수를 선언하고 {중괄호} 안에 데이터를 넣어주면 된다✨
const person = {
    name : "태현",
    age : 29,
    skills : ['HTML', 'CSS', 'Javascript'] 
}
profile
안녕하세요, 지식을 공유하는 공간입니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN