메모리에 저장한다. 읽어들여서 재사용한다.
변수 이름 : 저장된 값의 고유 이름
변수 값 : 변수에 저장된 값
변수 할당 : 변수에 값을 저장하는 행위
변수 선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위
변수 참조 : 변수에 할당된 값을 읽어오는 것
변수를 선언할 수 있는 3가지 방법 : var, let, const
// 1. var
var myVar = "Hello World";
var myVar = "TEST1";
myVar = "GoodBye"
console.log(myVar);
// 2. let
let myLet = "Hello World2";
//let myLet = "TEST2";
myLet = "GoodBye2"
console.log(myLet);
// 3. const
const myConst = "Hello World3";
//const myConst = "TEST3";
//myConst = "GoodBye3"
console.log(myConst);
var 은 재선언이 가능 하지만 let, const 는 재선언 불가능
var, let 은 재할당이 가능 하지만 const 는 재할당 불가능
// 1. 숫자
// 1-1. 정수
let num1 = 10;
console.log(num1);
console.log(typeof num1);
// 1-2. 실수(float)
let num2 = 3.14;
console.log(num2);
console.log(typeof num2);
// 1-3. 지수형(Exp)
let num3 = 2.5e5; // 2.5 x 10^5
console.log(num3);
console.log(typeof num3);
// 1-4. Not a Numbur
let num4 = "Hello" / 2;
console.log(num4);
// 1-5. Infinity(무한대)
let num5 = 1 / 0;
console.log(num5);
console.log(typeof num5);
// 1-6. Infinity(무한대)
let num6 = -1 / 0;
console.log(num6);
console.log(typeof num6);
// 2-1 ' ' = " "
let str = "Hello World!";
console.log(str);
console.log(typeof str);
// 2-2. 문자열 길이 확인하기
console.log(str.length);
// 2-3. 문자열 결합하기
let str1 = "Hello, ";
let str2 = "World!";
let result = str1.concat(str2);
console.log(result);
// 2-4. 문자열 자르기
let str3 = "Hello, World!";
console.log(str3.substr(7, 5));
console.log(str3.slice(7, 12));
// 2-5. 문자열 검색
let str4 = "Hello, World!";
console.log(str4.search("World!"));
// 2-6. 문자열 대체
let str5 = "Hello, World!";
let result01 = str5.replace("World", "Javascript")
console.log(result01);
// 2-7. 문자열 분할
let str6 = "apple, banana, kiwi";
let result02 = str6.split(",");
console.log(result02);
// true(참), false(거짓)
let bool1 = true;
let bool2 = false;
console.log(bool1);
console.log(typeof bool1);
console.log(bool2);
console.log(typeof bool2);
// if : 만약 ~ 한다면!
// undefined : 값이 할당 되지않은 변수
// un : not, define : 정의하다
let x;
console.log(x);
// null : 값이 존재하지 않음을 '명시적'으로 나타내는 방법 (어떠한 변수에 값이 없다는걸 표현)
// undefined 과 null 은 다름
let y = null
console.log(y);
// object(객체) : key-value pair 중요한내용임
let person = {
name: 'choi',
age: 20,
isMarried: true,
}
console.log(typeof person);
// array(배열)
// 여러 개의 데이터를 순서대로 저장하는 데이터 타입!!!
let number = [1, 2, 3, 4, 5];
let fruits = ['apple','banana','orange'];
console.log(fruits);
// 형태 -> 바꾸다
// 명시적 형 변환, 암시적 형 변환
// 1. 암시적 형 변환
// 1-1. 문자열
let result1 = 1 + "2";
console.log(result1);
console.log(typeof result1);
let result2 = "1" + true;
console.log(result2);
console.log(typeof result2);
// {}, null, undefined + "1" => 문자열이다
// 1-2. 숫자
let result3 = 1 - "2";
console.log(result3);
console.log(typeof result3);
let result4 = "2" * "3";
console.log(result4);
console.log(typeof result4);
// 2. 명시적 형 변환
// 2-1. Boolean
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));
console.log(Boolean("false"));
console.log(Boolean({}));
// 2-2. 문자열
let result5 = String(123);
console.log(typeof result5);
console.log(result5);
let result6 = String(true);
console.log(typeof result6);
console.log(result6);
let result7 = String(false);
console.log(typeof result7);
console.log(result7);
let result8 = String(null);
console.log(typeof result8);
console.log(result8);
let result9 = String(undefined);
console.log(typeof result9);
console.log(result9);
// 2-3. Number
let result10 = Number("123");
console.log(result10);
console.log(typeof result10);
// 1. 더하기 연산자 (우선순위 문자열)
console.log(1 + 1);
console.log(1 + "1");
// 2. 빼기 연산자 (우선순위 숫자열)
console.log(1 - "2");
console.log(1 - 2);
// 3. 곱하기 연산자(*) (우선순위 숫자열)
console.log(2 * 3);
console.log("2" * 3);
// 4. 나누기 연산자(/) (우선순위 숫자열)
console.log(4 / 2);
console.log("4" / 2);
// 5. 나누기 연산자(/) vs 나머지 연산자(%)
console.log(5 / 2);
console.log(5 % 2);
// 6. 할당 연산자(assignment)
// 6-1. 등호 연산자(=)
let x = 10;
console.log(x);
// 6-2. 더하기 등호 연산자(+=)
x += 5;
console.log(x);
// 6-3. 빼기 등호 연산자(-=)
x -= 5;
console.log(x);
x -= 20;
console.log(x);
let a = 10;
a *= 2;
console.log(a);
// 비교 연산자(--> true 또는 false를 반환하는 연산자) (중요함)
// 1. 일치 연산자(===)
// 타입까지 일치해야 true를 반환하는 연산자
// 숫자 2가 숫자 2랑 같니? 응!
console.log(2 === 2);
console.log("2" === 2);
console.log(2 === "2");
// 2. 불일치 연산자 (!==)
//타입까지 일치해야 false를 반환하는 연산자
// 숫자 2가 숫자 2와 다르니? 아니!
console.log(2 !== 2);
console.log("2" !== 2);
console.log(2 !== "2");
// 3. 작다 연산자(<), 작거나 같다 연산자(<=)
console.log(2 < 3);
console.log(2 <= 3);
console.log(2 <= 3);
console.log(4 <= 3);
// 4. 논리 연산자
// 4-1 논리곱 연산자 : 모두 true일 때 true 반환
console.log(true && true);
console.log(true && false);
console.log(false && true);
console.log(false && false);
// 4-2 논리합 연산자 : 두 값 중 하나라도 true인 경우 true 반환
console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);
// 4-3 논리부정 연산자 !
// : 값을 반대로 바꿈
console.log(!true);
let aa = true;
console.log(!aa);
// 5. 삼향 연산자 (중요!)
// 조건에 따라 값을 선택한다.
let xx = 10;
let result = (x > 5) ? "크다" : "작다";
console.log(result);
// 6. 타입연산자(typeof)
console.log(typeof "5");
JS문법 공부를 시작했다.
너무 많은 기능이기에 무작정 외우려고 하기보다는 빠르게 이해하고 넘어 가는식으로 공부를 했다.
수학문제 풀듯이 여러번 기능을 활용 하는식으로 공부를 해야겠다.