
조건문(if, else if, else, switch)
if문
1. 기본적인 if문
let x = 10;
if (x > 0) {
console.log("x는 0보다 큰 수입니다.");
}
let y = "hello world";
if(y.length >= 5) {
console.log(y.length);
}
2. if-else 문
let x = -10;
if (x > 0) {
console.log("x는 양수입니다.");
} else {
console.log("x는 음수입니다.");
}

3. if-else if-else문
let x = -45;
if (x > 0) {
console.log("x는 양수입니다.");
} else if (x < 0) {
console.log("x는 음수입니다.");
} else {
console.log("x는 0입니다.");
}

4. switch문
let fruit = "수박";
switch (fruit) {
case "사과":
console.log("사과는 빨간색입니다.");
break;
case "바나나":
console.log("바나나는 노란색입니다.");
break;
case "오렌지":
console.log("오렌지는 주황색입니다.");
break;
default:
console.log("해당하는 과일이 없습니다.");
break;
}

5. 삼항 연산자
let age = 17;
let message = (age >= 18) ? "성인입니다." : "미성년자입니다.";
console.log(message);
6. 조건문의 중첩
let age = 16;
let gender = "여성";
if( age <= 20) {
if (gender == "남성") {
console.log("미성년 남성입니다.");
} else {
console.log("미성년 여성입니다.");
}
} else {
if (gender == "여성") {
console.log("성인 여성입니다.");
} else {
console.log("성인 남성입니다.");
}
}
7. 조건부 실행
let x = 10;
(x > 0) && console.log("x는 양수입니다.");
let x;
let y = x || 10;
console.log(y);
객체
let person = {
name : "홍길동",
age : 27,
gender : "남자"
};
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
let person1 = new Person("홍길동", 27, "남자");
let person2 = new Person("홍길순", 20, "여자");
console.log(person.name);
console.log(person.age);
console.log(person.gender);
객체 매소드
1. Object.keys() 메소드(속성 이름을 배열로 반환)
let person = {
name : "홍길동",
age : 27,
gender : "남자"
};
let keys = Object.keys(person);
console.log("keys => ", keys);

2. Object.values() 메소드(속성 값들을 배열로 반환)
let person = {
name: "홍길동",
age: 30,
gender: "남자"
};
let values = Object.values(person);
console.log("values => ", values);

3. Object.entries() 메소드( 속성 이름과 속성 값들을 2차원 배열로 반환)
let person = {
name: "홍길동",
age: 30,
gender: "남자"
};
let entries = Object.entries(person);
console.log(entries);

4. Object.assign() 메소드
let person = {
name: "홍길동",
age: 30,
gender: "남자"
};
let newPerson = Object.assign({}, person, { age: 35 });
console.log(newPerson);

5. 객체 비교
let person1 = {
name: "홍길동",
age: 30,
gender: "남자"
};
let person2 = {
name: "홍길동",
age: 30,
gender: "남자"
};
console.log(person1 === person2);
console.log(JSON.stringify(person1) === JSON.stringify(person2));
6. 객체 병합( 연산자(...)를 사용하여 병합)
let Human1 = {
name: "홍길순",
age: 30
};
let Human2 = {
gender: "여자"
};
let perfectHuman = {...Human1, ...Human2};
console.log(perfectHuman);

배열
배열 생성
1. 기본적인 배열 생성
let fruits = ["사과", "바나나", "오렌지"];
2. 배열의 크기 지정(new Array()를 사용하여 배열 크기 지정)
let numbers = new Array(5);
3 기본적인 배열 생성
let fruits = ["사과", "바나나", "오렌지"];
console.log(fruits[0]);
console.log(fruits[1]);
console.log(fruits[2]);
배열 메소드
1. push() 메소드
let fruits = ["사과", "바나나"];
fruits.push("오렌지");
console.log(fruits);
2. pop() 메소드 (마지막 요소 없애기)
let fruits = ["사과", "바나나", "오렌지"];
fruits.pop();
console.log(fruits);
3. shift() 메소드(첫번째 요소 없애기)
let fruits = ["사과", "바나나", "오렌지"];
fruits.shift();
console.log(fruits);
4. unshift() 메소드(첫번째 요소 붙이기)
let fruits = ["바나나", "오렌지"];
fruits.unshift("사과");
console.log(fruits);
5. splice() 메소드(가운데 요소 붙이기)
let fruits = ["사과", "바나나", "오렌지"];
fruits.splice(1, 1, "포도");
console.log(fruits);
6. slice() 메소드(2번째자리부터, 3번째자리까지 전까지 반환)
let fruits = ["사과", "바나나", "오렌지"];
let slicedFruits = fruits.slice(1, 2);
console.log(slicedFruits);
7. forEach() 메소드( 변수의 모든 요소를 출력)
let numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number) {
console.log(number);
});

let animal = ["거북이", "올챙이", "사슴", "올빼미", "늑대"];
animal.forEach(function(item) {
console.log(item)
});

8. map() 메소드(배열 numbers의 모든 요소를 새로 곱한 새로운 배열)
let numbers = [1, 2, 3, 4, 5];
let newNumbers = numbers.map(function(item) {
return item * 3;
});
console.log(newNumbers);

9. filter() 메소드
let numbers = [1, 2, 3, 4, 5];
let filterNumbers = numbers.filter(function(item) {
return item > 2;
});
console.log(filterNumbers);
let numbers = [1, 2, 3, 4, 5];
let evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
console.log(evenNumbers);
10. find() 메소드 (3보다 큰 첫번째 숫자)
let numbers = [4, 1, 5, 4, 5]
let findnumber = numbers.find(function(number){
return number > 3;
});
console.log(findnumber);
반복문
for문
- for, while => ~동안 : 반복문
- for (초기값; 조건식; 증감식;}
1. 기본적인 for문
for (let i = 0; i <10; i++) {
console.log("For문 들어가고 있음 =>" + i);
}

2. 배열과 함께 사용하는 for문
const arr = ["엄마", "아빠", "할머니", "할아버지", "딸"];
for (let i = 0; i < arr.length; i++) {
console.log(i);
console.log(arr[i]);
}

for (let i = 0; i <= 10; i++) {
if (i >= 2)
if (i % 2 === 0) {
console.log(i + "는 2의 배수입니다!!")
}
}
3. for...in문
let person = { name: "John", age: 30, gender: "male" };
for (let key in person) {
console.log(key + ": " + person[key]);
}
while문
let i = 0;
while (i < 10) {
console.log(i);
i++;
}

let i = 3;
while (i < 100) {
if (i % 5 === 0 && i >= 5) {
console.log(i + "는 5의 배수 입니다!!");
}
i++;
}

do...while문
let i = 0;
do {
console.log(i);
i++;
} while (i < 10);
break문과 continue문
1. break문
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}

2. continue문
for (let i = 0; i < 10; i++) {
if (i === 5) {
continue;
}
console.log(i);
}
