변수(Variables)

이나영·2021년 8월 1일

JavaScript

목록 보기
1/8

1. 변수 선언

아래와 같이 변수를 선언하여 여러가지 형태의 데이터를 저장할 수 있다.

let num = 8;
var myName = "LEE NA YOUNG"
const day = 28;

1) let

블록 단위로 유효 범위를 갖는 변수를 선언할 수 있다.
재선언 불가능, 재할당 가능.

2) var

함수 내 또는 전역을 유효 범위로 가지는 변수를 선언할 수 있다.
재선언 가능, 재할당 가능.

3) const

블록 단위의 고정값을 선언할 수 있다.
한 번 선언, 값이 할당되고 나면 재선언, 재할당 모두 불가능하다.

※ let과 var의 범위 차이(지역변수 vs 전역변수)

var a = 1;
var b = 2;

if (a === 1) {
  var a = 11; // 전역 변수
  let b = 22; // if 블록 변수

  console.log(a);  // 11
  console.log(b);  // 22
}

console.log(a); // 11
console.log(b); // 2

※ var는 왜 요즘 잘 안 쓰이나요?

var는 전역변수인데다 재선언이 가능하기 때문에 변수 사용에 있어서 혼동이 오기 쉽기 때문입니다. Scope pollution 발생 가능. 그러니 가능하면 let을 쓰도록 합시다.

2. 타입(types)

가. 기본 타입(primitive type)

1) number

1, 0, 50, 100

2) boolean

true / false

3) string

'name', 'sum', "hello", "number"

4) undefined

변수가 선언되고 아무런 값도 할당되지 않았을 경우
해당 변수는 초기 값으로 undefined, 즉 정의되지 않은 값을 갖는다.

5) null

빈 값. blank를 의미.

※ undefined vs null

undefined와 비슷해보이나 undefined는 아예 할당된 값이 없는 반면 null은 사용자가 빈 값 그 자체를 value로 준 것이다.

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

따라서 이 둘의 타입은 object와 undefined로 아예 다른 것을 알 수 있다.
이는 나중에 연산자 ===에도 영향을 준다.

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

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

(+) typeof는 변수의 데이터타입을 반환하는 연산자이다.
(+) =====와 다르게 데이터타입까지 모두 같아야 true가 반환된다.

나. 참조 타입(reference type)

1) object

{name: "LEE NA YOUNG", isDeveloper: true}

<참고> 객체(Object)

2) array

[1, 2, 3, 4, 'good', false]

<참고> 배열(Array)

3) function

function(input) {

  ...
  
  return output;
}

1개의 댓글

comment-user-thumbnail
2021년 8월 2일

안녕하세요 나영님 :) 잠시 들려봤습니다!
사전스터디 화이팅입니다💪
개강해서 뵙게 될 날을 기다릴게요🙌

답글 달기