변수(variable)

moono·2022년 12월 18일
0

JavaScript

목록 보기
3/23

Today's JavaScript

변수


변수 ✍️

변수(Variable)는 데이터보관함(메모리)에 데이터를 쉽게 다루기 위해 붙인 이름으로
각 메모리의 이름 (ex.커피) 을 변수 라고 한다.


변수의 선언과 할당

변수 선언 이란
각 메모리에 이름을 부여한 것을 변수 선언 이라고 하는데
변수를 선언할 때는 let 를 사용

값의 할당 이란
선언한 변수에 값을 넣는 것
값을 할당할때 쓰는 = 는 데이터를 저장했다는 의미로
할당연산자 라고 하며, 선언과 할당은 동시에 할 수 있다.

let num; // 변수 num 이라는 것을 선언
num = 5; // 할당
let num = 5; // 변수 선언과 할당을 동시에 할 수 있음

변수에는 Javascript에서 사용이 가능한 모든 타입의 값을 할당

let string = '원주율';
let number = 3.141592;
let boolean = true;
let array = [1, 'two', false];
let object = {name: 'kimcoding', age: 25, course: 'SEB FE'};
let empty = null;
let notDefined = undefined;

아무것도 할당하지 않은 변수

let variable;
console.log(variable) // undefined

아무것도 할당하지 않은 변수에는 undefined 가 자동으로 할당
이는 초기화 라고 하며 Javascript 의 독특한 특징

값의 재할당

let name = 'kim'; // (name 이라는 변수를 선언하고 kim 이라는 값을 할당)
console.log(name) // 'kim' (kim 반환)
name = 'park' // (name 변수에 park 이라는 값을 재할당)
console.log(name) // 'park' (park 반환)

let 키워드로 선언한 변수에 새로운 값 할당 가능한 것을 재할당 이라고 하며,
할당연산자 = 를 사용

재할당이 불가능한 변수(상수)

const name = 'kim'; // (name 이라는 변수를 선언하고 kim 이라는 값을 할당)
console.log(name) // 'kim' (kim 반환)
name = 'park' // Uncaught TypeError : Assignment to constant variable.
// const 라는 키워드 사용해서 재할당이 안됨

let 키워드대신 const 키워드를 사용하면 재할당 금지

var 키워드

const name = 'kim'; // (name 이라는 변수를 선언하고 kim 이라는 값을 할당)
console.log(name) // 'kim' (kim 반환)
name = 'park' // Uncaught TypeError : Assignment to constant variable.
// const 라는 키워드 사용해서 재할당이 안됨

var 키워드가 존재하는데 단점으로 인해 사용 지양
-> 재할당이 필요한 변수에는 let 사용
     재할당 불필요 or 방지해야 하는 변수는 const 사용

변수 네이밍

네이밍 규칙

let name, $head, _score // 사용 가능한 변수명
let 1st; // 사용할 수 없는 변수명

let true; // 사용할 수 없는 변수명 (let, const, false, typeof 등)

let x = 100;
let y = 5;
// 변수의 존재 목적을 이해할 수 없는 변수명

식별자는 특수문자 제외한 문자 , 숫자 , _ , $ 를 포함할 수 있음
But 숫자 로 시작하는건 안됨
예약어는 식별자로 사용할 수 없음 (ex : let , const , true , false 등)
그 외 변수의 존재 목적을 분명하게 표현

Glossary

예약어 : 프로그래밍언어에서 사용되거나 사용예정인 언어

네이밍 컨벤션

//카멜 케이스(camelCase)
let firstName = 'coding';
let lastName = 'kim';

// 그 밖에 네이밍 컨벤션
let first_name; // 스네이크 케이스(snake_case) : 단어와 단어 사이에 _ 사용
let FirstName; // 파스칼 케이스 : 단어의 시작을 대문자로 작성

하나 이상의 단어를 조합해서 식별자를 만들 경우 네이밍 컨벤션 을 잘 지키면 가독성 높아짐
Javascript 에서는 일반적으로 카멜 케이스 를 사용

템플릿 리터럴

let course = 'SEB FE';
let cohort = 99; // 템플릿 리터럴 사용하면 문자열 아닌 99를 '99'로 취급
let name = 'kimcoding';
console.log(`${course}${cohort}${name}`); // 'SEB FE99kimcoding'
console.log(`${course} ${cohort} ${name}`); // 'SEB FE 99 kimcoding'
//console.log(course + ' ' + cohort + ' ' + name) 보다 가독성 좋음

문자열 내부에 변수 삽입할 수 있는 기능으로 백틱 사용하는 것을 템플릿 리터럴 이라고 함
템플릿 리터럴 내부에 ${} 사용하여 변수 삽입
공백 삽입 시 ' ' 보다 템플릿 리터럴 이 가독성 우수
문자열이 할당되지 않은 변수도 문자열로 취급

0개의 댓글