자바스크립트에서는 변수를 사용하여 여러가지 형태의 데이터를 저장할 수 있다.
변수는 아래와 같이 let 키워드를 앞에 붙여서 선언할 수 있다.
let myName = "JavaScript";
let을 사용해 myName 변수를 선언하고, 그 값으로 "JavaScript" 라는 String 타입의 값 할당해줌.
자바스크립트에서는 변수를 사용하여 특정한 값(데이터)을 저장할 수 있다.
let myVariable = 5;
변수(variable)에 값을 할당할 때는 대입연산자(=)를 사용한다. 대입연산자는 말 그대로 오른쪽 항에 있는 값을 왼쪽에 있는 변수에 대입하는 역할을 한다.
EX)
let myVar = 5; // 5를 변수 myVar의 값으로 대입 let myNum = myVar; // myVar를 myNum의 값으로 대입
변수는 처음 선언된 경우 초기 값으로 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"
변수 이름은 원하는대로 정할 수 있지만 몇 가지 주의할 점이 있다.
대소문자 구문
변수이름, 함수이름, 연산자 모두 대소문자를 구분한다.
EX) myName과 MyName은 다른 변수이다.
첫 번째 문자는 반드시 글자나 밑줄(_), 달러기호($)중 하나를 쓸 것.
두 번째 문자부터는 글자, 밑줄, 달러, 숫자 중에서 자유롭게 쓸 수 있다.
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;
null과 undefined는 모두 자바스크립트의 데이터 타입이다.
포괄적인 의미로 '값이 없다'는 점에서 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가 나옴.