변수 이름 : 저장된 값의 고유 이름
변수 값 : 변수에 저장된 값
변수 할당 : 변수에 값을 저장하는 행위
변수 선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위
변수 참조 : 변수에 할당된 값을 읽어오는 것
var myvar = "hello world";
console.log(myvar);

let mylet = "hello world 1";
console.log(mylet);

const myconst = "hello world 2";
console.log(myconst);

let num1 = 10;
console.log(num1);
console.log(typeof num1);

let num2 = 3.14;
console.log(num2);
console.log(typeof num2);

let num3 = 2.5e5;
console.log(num3);
console.log(typeof num3);

let num4 = "hello" / 2;
console.log(num4);
console.log(typeof num4);

let num5 = 1 / 0;
console.log(num5);
console.log(typeof num5);

let str = "hello world!";
console.log(str.length)

let str1 = "hello,";
let str2 = "world!";
let result = str1.concat(str2)
console.log(result)

let str3 = "Hello, World!";
console.log(str3.substr(7, 5)); //(시작위치, 몇개까지)
console.log(str3.slice(7, 13)); //(시작위치, 끝 위치까지)

let str4 ="hello, world1";
console.log(str4.search("world")); //7번째 열부터 world단어 시작

let str5 = "Hello, world!";
let result = str5.replace("world", "JavaScript");
console.log(result); // "Hello, JavaScript!"

let str = "apple, banana, kiwi";
let result = str.split(",");
console.log(result); // ["apple", " banana", " kiwi"]

let bool1 = true;
let bool2 = false;
console.log(bool1); // true
console.log(typeof bool1); // "boolean"
console.log(bool2); // false
console.log(typeof bool2); // "boolean"

let x = 10;
let y = 5;
if (x > y) {
console.log("x is greater than y");
} else {
console.log("x is less than or equal to y");
}

let x;
console.log(x); //x라는 변수에 아무런 값이 지정되지않음

let y = null;
let person = {
name: 'Lee',
age: 20
};
console.log(typeof person);

let numbers = [1, 2, 3, 4, 5];
let fruits = ['apple', 'banana', 'orange'];
//문자열 변환
console.log(1 + "2"); // "12"
console.log("1" + true); // "1true"
console.log("1" + {}); // "1[object Object]"
console.log("1" + null); // "1null"
console.log("1" + undefined); // "1undefined"
//숫자 변환
console.log(1 - "2"); // -1
console.log("2" * "3"); // 6
console.log(4 + +"5"); // 9
// 위의 예제에서는 연산자를 사용할 때, 문자열을 숫자로 변환한다.
// 이때, 빈 문자열("")이나 공백 문자열(" ")은 0으로 변환
//불리언 변환
console.log(Boolean(0)); // false
console.log(Boolean("")); // false
console.log(Boolean(null)); // false
// Boolean() 함수를 사용하여 불리언 값으로 변환
//문자열 변환
console.log(String(123)); // "123"
console.log(String(true)); // "true"
console.log(String({})); // "[object Object]"
// String() 함수를 사용하여 다른 자료형을 문자열로 변환
// 숫자 변환
console.log(Number("123")); // 123
console.log(Number("")); // 0
console.log(Number(" ")); // 0
console.log(Number(true)); // 1
console.log(Number(false)); // 0
console.log(2 + 3); // 5
console.log("2" + "3"); // "23"
console.log("2" + 3); // "23"
console.log(2 + "3"); // "23"
console.log(5 - 2); // 3
console.log("5" - "2"); // 3
console.log("5" - 2); // 3
console.log(5 - "2"); // 3
console.log("five" - 2); // NaN
console.log(2 * 3); // 6
console.log("2" * "3"); // 6
console.log("2" * 3); // 6
console.log(2 * "3"); // 6
console.log("two" * 3); // NaN
console.log(6 / 3); // 2
console.log("6" / "3"); // 2
console.log("6" / 3); // 2
console.log(6 / "3"); // 2
console.log("six" / 3); // NaN
let x = 10;
console.log(x); // 10
x = 5;
console.log(x); // 5
let x = 10;
console.log(x); // 10
x += 5; // 5를 더해줌
console.log(x); // 15
let x = 10;
console.log(x); // 10
x -= 5; // 5를 빼준다.
console.log(x); // 5
let x = 10;
console.log(x); // 10
x *= 5; // 5를 곱해준다.
console.log(x); // 50
let x = 10;
console.log(x); // 10
x /= 5; // 5를 나눠줌
console.log(x); // 2
let x = 10;
console.log(x); // 10
x %= 3; // 3으로 나누고 남은 몫 1
console.log(x); // 1
// 두 값이 같은지 자료형까지 비교
console.log(2 === 2); // true
console.log("2" === 2); // false
console.log(2 === "2"); // false
// 두 값이 틀린게 확실한지 비교
console.log(2 !== 2); // false
console.log("2" !== 2); // true
console.log(2 !== "2"); // true
console.log(2 < 3); // true
console.log(2 <= 3); // true
console.log(3 <= 3); // true
console.log(4 <= 3); // false
// 모두 true 일때 true 반환
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
// 두 값중 하나라도 true 일 경우 true
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
// true는 false 로 false 는 true로 바꿈
console.log(!true); // false
console.log(!false); // true
console.log(!(2 > 1)); // false
let x = 10;
let result = (x > 5) ? "크다" : "작다";
console.log(result); // "크다"
let y = 20;
let answer = (y < 10) ? "작다" : "크다";
console.log(answer); // "크다"
// add라는 함수 선언
function add(x, y) {
return x + y;
}
console.log(add(2, 3)); // 5
// add라는 변수에 함수를 할당
let add = function(x, y) {
return x + y;
}
console.log(add(2, 3)); // 5
// 연습
let add2 = function(x, y) {
return x + y;
};
let functionResult = add2(3, 4); // 7
console.log(functionResult);
// 연습 2
let add3 = function (x, y) {
return(x + y);
};
let functionresult = add3(10, 20); // 30
console.log(functionresult);
// 변수 x를 선언하고 함수 printX에서 변수 x를 참조
let x = 10;
function printX() {
console.log(x);
}
printX(); // 10
function printX() {
let x = 10;
console.log(x);
}
printX(); // 10
// 화살표 함수를 사용하면 함수의 선언을 간결하게 할 수 있다.
let add = (x, y) => {
return x + y;
}
console.log(add(2, 3)); // 5
let add = (x, y) => x + y;
console.log(add(2, 3)); // 5
let square = x => x * x; // 3 곱하기 3
console.log(square(3)); // 9