코딩 이론

변수와 주로 사용하는 변수의 타입

lap_mu 2023. 1. 4. 23:07

변수

let num; //변수 선언
num = 10; //변수 할당

// 선언과 할당 동시에
let num = 10;

// undefined 자동 할당
let str; //undefined

// 재할당
let num = 10;
num = 5; //5
  • 데이터 보관함에 데이터를 저장하고 변수의 이름으로 데이터를 불러올 수 있다.
  • 데이터 보관함에 이름을 달아주는 것을 변수의 선언이라고 한다.
  • 데이터 보관함에 데이터를 저장하는 것을 변수의 할당이라고 한다.
  • 변수의 선언과 할당은 같이 할 수 있다.
  • 아무것도 할당하지 않는 변수는 undefined가 자동으로 할당된다.
  • 할당되어 있는 변수에 새로운 값을 할당할 수 있다. = 재할당(const로 할당한 값은 재할당 불가)

 

변수 네이밍 규칙

//문자, 숫자, 언더스코어(_), 달러기호($)
let sdw320_woe; //가능

//camelcase
let mappingNum;
  • 특수문자를 제외한 문자, 숫자, 언더스코어( _ ), 달러기호($)를 포함할 수 있다.
  • 숫자로 시작은 금지.
  • 예약어는 사용금지. (프로그래밍 언어에서 사용되고 있거나 사용할 예정인 단어) -> 키워드랑 충돌이 일어날 수 있다.
  • 변수가 존재하는 의미를 알 수 있도록 명확히 표현햐야한다.
  • camelCase를 사용한다. (낙타의 봉우리처럼 생김)

 


주로 사용하는 변수의 타입

타입?

  • 타입은 값의 종류이다.
  • js는 정보를 다양한 형태로 값을 전달한다.
  • 자주 사용하는 값을 분류한 것을 타입이라고 한다.
  • 각 타입은 고유한 속성과 메서드를 가진다.
  • 각 타입은 크게 원시자료형과 참조자료형으로 나뉜다.

 

Number 타입

  • 숫자를 표현하기 위해 사용하는 데이터 타입 (정수와 실수 모두 표현 가능)
  • 수학기호(+, -, *, /)를 산술 연산자라고 한다.

Number 타입에 사용하는 Math 내장 메서드

  • Math.floor( ) : 괄호 안의 숫자를 내림하여 반환
  • Math.ceil( ) : 괄호 안의 숫자를 올림하여 반환
  • Math.round( ) : 괄호 안의 숫자를 반올림하여 반환
  • Math.abs( ) : 괄호 안 숫자의 절대값을 반환
  • Math.sqrt( ) : 괄호 안 숫자의 제곱근을 반환
  • Math.pow( ) : 괄호 안의 첫번째 숫자가 밑, 두번째 숫자가 지수인 숫자를 반환

String 타입

  • 인간의 언어, 자연어를 js에서 표현하기 위해 사용하는 데이터 타입
  • 따옴표(' '), 쌍따옴표(" "), 템플릿 리터럴(` `)로 데이터를 감싸면 String타입으로 표현된다.
  • 문자열은 +로 이어 붙일수 있다. +는 문자 연결 연산자로 쓰인다. -> 다른 타입과 문자열을 +로 연결하면 다른 타입도 문자열이 된다.

템플릿 리터럴(` `) (template literal)

  • 문자열 내부에 변수를 사용할 수 있는 기능을 가지고 있다.
  • ${ } 안에 변수를 넣어 변수의 값을 문자열로 출력할 수 있다.
  • 공백을 위해 ' '를 사용하는 것보다 템플릿 리터럴을 사용하는 것이 가독성에 좋다.

 

문자열의 length속성

  • 문자열의 길이를 확인할때 사용한다.

 

문자열의 인덱스(index)

  • 문자열의 몇 번째 인덱스에 어떤 문자가 있는지 확인할 수 있다.
  • 인덱스는 0부터 시작이다.
  • 인덱스의 마지막은 문자열 길이의 -1이다.

 

문자열의 주요 메서드

//toLowerCase()
str.toLowerCase() //문자열 str을 모두 소문자로

//toUpperCase()
str.toUpperCase() //문자열 str을 모두 대분자로

//concat()
str1.concat(str2) //str1과 str2가 이어진 하나의 문자열 반환

//slice()
str.slice(0, 5) //str의 0번째 인덱스부터 4번째 인덱스까지 자른 문자열 반환

//indexOf()
str.indexOf('a') //str에 'a'가 있을 경우 'a'가 있는 인덱스를 반환, 없을 경우 -1

//includes()
str.includes('a') //str에 'a'가 있는지 없는지 불리언 타입으로 반환
  • toLowerCase( ) : 문자열을 소문자로 변경
  • toUpperCase( ) : 문자열을 대문자로 변경
  • concat( ) : 문자열을 이어붙인다.
  • slice( ) : 문자열의 일부를 자른다.
  • indexOf( ) : 해당 문자가 문자열의 몇번째 인덱스에 있는지 첫번째 인덱스만 반환, 없는 경우 -1 반환
  • includes( ) : 해당 문자가 문자열에 있는지 불리언 타입으로 반환

Boolean타입

  • 불리언 타입은 사실관계를 구분하기 위한 타입
  • true, false 중 하나이다.

 

falsy

  • 불리언 타입은 아니지만 false로 취급되는 값이 존재한다.
  • false
  • 0
  • -0
  • -0n
  • ""
  • ''
  • ``
  • null
  • undefined
  • NaN

 

비교 연산자 (comparison operator)

  • 불리언은 비교 연산자로 비교했을 경우 맞으면 true, 틀리면 false를 반환한다.
  • ===, !==는 엄격한 동치 연산자로 두 피연산자의 값뿐만 아니라 타입도 같아야 true.
  • ==, !=는 느슨한 동치 연산자로 두 피연산자의 값이 같으면 true. -> 사용을 권장하지 않는다.
  • <, >, <=, >=는 수학의 부등호 기호의 사용법과 유사하다.

 

논리 연산자 (logical operator)

  • 두 값간의 논리 관계를 확인할 수 있다.
  • || (논리합 : OR)은 두 값이 모두 false여야만 false 하나라도 true인 경우 true
  • && (논리곱 : AND)은 두 값이 모두 true여야만 true 하나라도 false인 경우 false
  • ! (논리부정연산자 : NOT)은 불리언 값의 반대를 반환한다.