// 여러가지 ES6 문법 소개 (1)
//
// => ES6 문법은 JAVA Script 문법 중 하나로써 2015년에 발표되었다.
//
// => ES6 문법은 이전 버전보다 쉽고 효율적으로 코드를 작성 할 수 있도록 대규모의 새로운 문법과 기능을 도입하였다.
//
//
// 1. var : 재선언 가능(o) / 재할당 가능(o)
//
// => JAVA Script에서 기본적으로 사용하는 선언 & 할당 키워드.
//
var alpha = "alpha";
console.log(alpha);
var alpha = "알파";
console.log(alpha);
alpha = "알파";
console.log(alpha);
console.log("-----------------------------------");
//
// 2. let : 재선언 불가능(x) / 재할당 가능(o)
//
// => 일반적으로 변수를 선언할 때 사용하는 변수선언 키워드.
//
let beta = "beta";
console.log(beta);
beta = "베타";
console.log(beta);
console.log("-----------------------------------");
//
//
// 3. const : 재선언 불가능(x) / 재할당 불가능(x)
//
// => 일반적으로 상수를 선언할 때 사용하는 상수선언 키워드.
//
const gamma = "감마";
console.log(gamma);
console.log("-----------------------------------");
//
//
// 4. 화살표 함수 : Arrow Function
//
// 4-1. 일반함수
//
function Func_01() {
return 0;
}
console.log("-----------------------------------");
//
// 4-2. 함수값 대입
//
var Func_02 = function () {
return 0;
}
console.log("-----------------------------------");
//
// 4-3. 화살표 함수
//
var Func_03 = () => {
return 0;
}
console.log("-----------------------------------");
//
//
// 5. 삼항 연산자
//
// => 조건식 ? true 인 경우 : false 인 경우;
//
let result_01 = true ? "참" : "거짓";
console.log(result_01);
let result_02 = false ? "참" : "거짓";
console.log(result_02);
console.log("-----------------------------------");
//
//
// 6. 구조분해할당(destructuring) : de + structure + ing
//
// => de(반대로 ~ ) + structure(구조) + ing( ~ 하는 것) : 구조를 반대로 해체하는 것.
//
// => 즉, 구조분해 할당이란, 배열이나 객체의 속성을 분해하여 변수에 담는 문법이다.
//
//
// 6-1. 배열 구조분해할당
//
let [value_01, value_02] = [1, "new"];
console.log("1 번 : ", value_01);
console.log("2 번 : ", value_02);
console.log("-----------------------------------");
let Arr_01 = ["사과", "바나나", "초콜릿"];
let [Apple, Banana, Chocolate, Doughnut, Egg = "달걀"] = Arr_01;
console.log(Apple);
console.log(Banana);
console.log(Chocolate);
console.log(Doughnut);
console.log(Egg);
console.log("-----------------------------------");
//
//
// 6-2. 객체 구조분해할당
//
let User = {
name: "김철수",
age: 30,
gender: "남성",
};
let {name, age, gender} = User;
console.log("이름 : ", name);
console.log("나이 : ", age);
console.log("성별 : ", gender);
console.log("-----------------------------------");
let Pet = {
name: "흰둥이",
age: 3,
gender: "수컷",
species: "강아지",
};
let {
name: Dog_Name,
age: Dog_Age,
gender: Dog_Gender,
species: Dog_Species,
} = Pet;
console.log(Pet.name);
console.log(Pet.age);
console.log(Pet.gender);
console.log(Pet.species);
console.log("-----------------------------------");
console.log(Dog_Name);
console.log(Dog_Age);
console.log(Dog_Gender);
console.log(Dog_Species);
console.log("-----------------------------------");
let player = {
job: "기사",
HP: "150",
skill: "십자베기",
};
let { job, HP, MP = "80", skill, title } = player;
console.log("직업 : ", job);
console.log("체력 : ", HP);
console.log("마력 : ", MP);
console.log("스킬 : ", skill);
console.log("칭호 : ", title);
console.log("-----------------------------------");