Study/JavaScript

[모던 자바스크립트] 02 프로그래밍의 기본, 변수와 자료형 살펴보기

김만재 2023. 1. 9. 16:13

1. 프로그램에서 입력받고 출력하는 방법

  • alert() 함수: 알림 창을 표시. alert() 함수의 소괄호 안에 메세지를 입력하거나 변수를 사용하면 알림 창에 텍스트나 변숫값을 표시할 수 있음.
  • confirm() 함수: 확인 창을 표시. [확인]과 [취소] 버튼이 있어 사용자가 어떤 버튼을 클릭했는가에 따라 서로 다른 반환값을 나타냄. [취소]버튼 클릭시 false 반환.
  • prompt() 함수: 사용자가 간단한 값을 입력할 수 있는 프롬프트 창을 표시. 입력 기본값을 지정할 수도 있음. 값 입력 취소시 null 반환.

 

2.  프로그램과 친해지려면 변수부터 익히자

  • 변수 선언 let
  • 상수 선언 const
  • 변수 선언시 var를 사용하게 되면 변수 호이스팅이 발생.
  • 호이스팅(hoisting): '끌어올린다'는 뜻. 상황에 따라 변수 선언 부분을 스코프의 가장 위쪽으로 끌어올린 식으로 해석. 
예약어 선언하지 않고 사용할 경우 재선언 재할당
var 오류 없음(호이스팅 발생) O O
let 오류 발생 X O
const 오류 발생 X X

 

 

3. 컴퓨터가 세상을 보는 방법, 자료형

  • 자바스크립트의 자료형은 크게 '원시유형(primitive type)'과 '객체(object)'로 나뉨.
  • 원시유형: 하나의 값만 저장하는 자료형. 숫자와 문자열, 논리형, undefined, null, symbol이 있음.
  • 객체: 원시유형 외 모든 자료형.

 

  • 템플릿 리터럴(template literal): 문자열과 변수, 식을 섞어서 하나의 문자열을 만드는 표현 형식. 백팃(``)을 사용하고, 변수나 식을 ${}로 묶어 표시함. '\n' 같은 줄 바꿈 기호를 넣지 않아도 사용자가 소스에 줄을 바꿔 입력하면 동일하게 출력됨.
let name = "김만재"
let classroom = 205
console.log(`${name}님, ${class}호 강의실로 입장하세요.`)

 

  • 논리형(Boolean): 참(true)나 거짓(false)값을 표현하기 위한 데이터 유형.
    • truthy = true로 인정할 수 있는 값, falsy = false로 인정할 수 있는 값.
    • falsy: 숫자 0, "" (빈 문자열), NaN, undefined, null0
  • undefined: 변수를 만들기만 하고 값을 할당하지 않았을 때 자바스크립트에서 자동으로 부여하는 초깃값. 값이면서 동시에 자료형. 
  • null: 값이 없거나 유효하지 않은 값이라는 의미로, 자바스크립트에서 반환하거나 사용자가 할당할 수 있는 값. 값이면서 동시에 자료형. 

 

  • 객체: 여러 개의 원시 유형을 하나로 묶어 놓은 것. JS는 배열이나 함수도 객체로 취급.
  • 중괄호{} 안에, 키key:값value으로 구성. '키:값'쌍을 객체의 프로퍼티property라고 함.
  • 키는 문자열이어도 큰따옴표를 사용하지 않지만 값의 경우엔 사용해야 함.
  • 객체에 있는 여러 개의 프로퍼티 중 원하는 프로퍼티 값을 가져오려면 객체명.키 이름, 객체명["키 이름"]과 같은 형식을 사용.
  • 심볼(symbol)
    • 유일성을 보장. 객체 프로퍼티의 키로 사용할 수 있음.
    • symbol() 함수 사용하여 생성.
    • 한 번 만들면 변경할 수도 없고, 같은 값을 가진 심볼을 만들 수도 없음.

 

4. 자바스크립트의 장점이자 단점, 자료형 변환

  • Number() 함수: 소괄호 안에 값을 넣어주면 숫자로 변환할 수 있음.
기존 유형 변환 결과
true 1
false 0
숫자 숫자
null 0
undefined NaN
정수 문자열 정수(맨 앞에 0이 있으면 제거)
실수 문자열 실수(맨 앞에 0이 있으면 제거)
16진수 문자열 10진수
빈 문자열 0
기타 NaN

 

  • parseInt() 함수: 소괄호 안의 값을 정수로 변환.
  • parseFloat() 함수: 소괄호 안의 값을 실수로 변환.

 

  • toString() 함수: null 자료형과 undefined 자료형을 제외한 나머지 자료형을 문자열 데이터로 변환.
  • String() 함수: null 자료형과 undefined 자료형까지 모두 포함해 문자열로 변환.

 

  • Boolean() 함수: 다른 유형의 데이터를 논리형 데이터로 변환.
  true값이 되는 데이터 false값이 되는 데이터
숫자형 0이 아닌 값 0
문자열 빈 문자열이 아닌 모든 문자열 빈 문자열
undefined - undefined