TIL#2 JS) Variables

luneah·2021년 10월 29일
0

JavaScript

목록 보기
2/16
post-thumbnail

변수

01. 변수

자바스크립트에서는 변수를 사용하여 여러가지 형태의 데이터를 저장할 수 있다.
변수는 아래와 같이 let 키워드를 앞에 붙여서 선언할 수 있다.

let myName = "JavaScript";

let을 사용해 myName 변수를 선언하고, 그 값으로 "JavaScript" 라는 String 타입의 값 할당해줌.

02. 변수와 대입연산자

자바스크립트에서는 변수를 사용하여 특정한 값(데이터)을 저장할 수 있다.

let myVariable = 5;

변수(variable)에 값을 할당할 때는 대입연산자(=)를 사용한다. 대입연산자는 말 그대로 오른쪽 항에 있는 값을 왼쪽에 있는 변수에 대입하는 역할을 한다.

EX)

let myVar = 5;  // 5를 변수 myVar의 값으로 대입
let myNum = myVar;  // myVar를 myNum의 값으로 대입

03. 값이 할당되지 않은 변수

변수는 처음 선언된 경우 초기 값으로 undefined, 정의되지 않은 값을 가진다.

let a;
> 
console.log(a) // --> return undefined

즉, 변수를 선언하는 것과 값을 대입하는 것은 별개다. 선언된 변수가 특정한 값을 갖기 위해서는 대입연산자를 사용해 그 값을 대입해주어야 한다.

EX1) 변수는 선언 되었지만, 아직 값을 할당받지 못했기 때문에 함수의 결과가 undefined로 출력됨.

let a;

console.log(a) // --> return undefined

EX2)

let a;
a = "java" // 한 번 선언된 변수는 다시 선언해줄 필요없다. 값만 대입해주면 된다.

console.log(a) // --> return "java"

04. 변수 이름 정하기

변수 이름은 원하는대로 정할 수 있지만 몇 가지 주의할 점이 있다.

  1. 대소문자 구문
    변수이름, 함수이름, 연산자 모두 대소문자를 구분한다.
    EX) myName과 MyName은 다른 변수이다.

  2. 첫 번째 문자는 반드시 글자나 밑줄(_), 달러기호($)중 하나를 쓸 것.

  3. 두 번째 문자부터는 글자, 밑줄, 달러, 숫자 중에서 자유롭게 쓸 수 있다.

  4. camelCase(카멜케이스) 방식으로 쓸 것.
    snakecase 표현법도 있지만 잘 사용하지 않는다. (변수 이름에 -는 사용할 수 없으므로, 를 사용한 것)

EX) camelCase ✔️

let someVariable; 
let anotherVariableName; 
let thisVariableNameIsSoLong;

EX) snake_case

let first_second;
let my_profile_img;
let to_do_list_array;

05. null & undefined

null과 undefined는 모두 자바스크립트의 데이터 타입이다.

  • undefined : 선언은 됐지만 아직 value가 할당되지 않은 경우
  • null : '빈 값(blank)'을 의미, 사용자가 준 value.
    그래서 undefined와 다르게 자바스크립트가 자동적으로 null 이란 값을 줄 수는 없다.

포괄적인 의미로 '값이 없다'는 점에서 null과 undefined가 비슷한 것 같지만 둘은 엄격하게는 같지 않다.

let name;            // undefined
let name = null;     // null

console.log(null == undefined);   // true
console.log(null === undefined);  // false

엄격일치연산(===)은 value뿐만 아니라 type도 같아야 true가 나옴.

null과 undefined의 type을 알아보기 위해서 'typeof' 연산자 사용

console.log(typeof null);       // object
console.log(typeof undefined);  // undefined

null은 위에 설명한대로 '값이 없음(blank)'을 의미하는 '할당된' value이기 때문에 type이 object가 나옴.

profile
하늘이의 개발 일기

0개의 댓글