: 데이터를 편하게 다루기 위해 데이터에 이름을 붙있 수 있는데, 그 이름이 변수이다. / = a way to handle data
: 상황에 따라 변할 수 있는 값, 프로그래밍 세계에서의 변수는 이름(Label)이 붙은 값이다.
-> 값(데이터)을 담는 저장소(메모리)의 이름
변수 선언 방법은 2가지로 가능하다
1. let thing = '휴지';
let num = 3;
2. let thing = '휴지', num = 3;
( 쉽게 예시를 들기 위해 선언과 할당을 동시에한 경우이다)
-보관함에 데이터 저장 : 할당(assignment) ex) age = 12; // = 는 '같다'라는 의미가 아니라 저장(대입 assign)한다는 의미다.let age = 12;
console.log(age * 2); -> 변수 age가 보관함에서 조회되어 대체됨 console.log(12 * 2); -> console.log(24);
// 위에서 2도 변수로 둔다면,
let year = 2;
let later = age * year; -> 변수를 다시 변수로 담을 수 있다.
console.log(laterAge); // 24
% 변수명엔 공백을 쓸 수 없음으로, 보통 단어의 첫 글자를 대문자로 써 붙인다. 낙타 등 모양처럼 생겨 Camel Case라고 부른다.
year = year + 2; // let year 라고 또 왜 안쓰는지? => 한번 선언했던 변수를 다시 사용할때는 let 을 쓰지 않는다( 위의 항목에서 선언한것으로 가정했다)
year = year + 3; // 결과 : 7
let myName;
myName; // 콘솔에서 값은 undefined(정의되지 않았다) 라고 나온다.
let num = 3; // 구구단 전부를 수정하지 않아도 이 변수만 수정하면 된다.
console.log(num * 1); // 3
console.log(num * 2); // 6
console.log(num * 3); // 9
console.log(num * 4); // 12
console.log(num * 5); // 15
console.log(num * 6); // 18
console.log(num * 7); // 21
console.log(num * 8); // 24
console.log(num * 9); // 27
: 숫자나 문자와 같이 변수에 할당할 수 있는 형태
console.log(typeof 1) // number
console.log(typeof '1') // string
console.log(typeof (1 < 2)) // boolean
Q.질문 -----> typeof 1<2 : false, 1<2 : true 로 나오는데 왜그러는걸까?
A.1 < 2 는 console.log(1 < 2)와 같기떄문에 true로 나오고
typeof 1 < 2 는 typeof(1 < 2)처럼 하나로 묶이지 않기 떄문에, typeof 1 을 먼저 인식하여 'number'로 반환되어 'number' < 2 로 되어서 false로 나오는 것 이다.
let number = 1; console.log(typeof number); // number
let string = '1'; console.log(typeof string); // string
% 타입을 얘기할때 Number, String..등 대문자로 많이 얘기하는데, 콘솔창에서는 number, string 로 자료형을 나태내는 문자열을 반환한다.
[링크텍스트](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/typeof )