[자바스크립트] ES5 vs ES6

Whatever·2022년 2월 7일
0

자바스크립트

목록 보기
17/24

인터넷 익스플로러11을 사용할 경우에 ES6을 사용할 수 없음.

ES6 :
1. class 키워드 지원
2. 화살표 함수(Arrow function) 개발자 코딩양을 줄이고, 있어보이려고 만듦. 제약사항이 몇개 있는데, 외우려 하지 말고 이상하면 그냥 function 키워드를 씀

중요!
javascript는 ES5 버전과 ES6 버전 이상으로 나뉨
ES6 부터 추가된 것
let (block scopt),
const(속성은 바꾸어도 된다 - 할당된 객체 자체만 안바꾸면 됨),
기존 var는 function scope

잠깐정리.html

<!DOCTYPE html>
<html lang='ko'>
<head>
<meta charset='UTF-8'>
<script>
    // 머릿속에 꼭 담아두고 일해야 함
    // javascript는 ES5 버전과 ES6 버전 이상으로 나뉨
    // ES6 부터 추가된 것
    // let (block scopt), const(속성은 바꾸어도 된다 - 할당된 객체 자체만 안바꾸면 됨), 기존 var는 function scope
    //const c_aaa = "ppp";
    //c_aaa = "qqq"; // 당연히 에러 

    const c_bbb = {
        name:"민정",
        age:21
    }

    c_bbb.age=20; // ? - 에러 안남
    alert(c_bbb.age)
    c_bbb = ["1","2"]; // - 에러남
    c_bbb = {}; // new Objct(); - 새로운 객체를 생성해서 할당하는 것 - 에러

</script>

ES6.html

<!DOCTYPE html>
<html lang='ko'>
<head>
<meta charset='UTF-8'>
<title>Document</title>
</head>
<body>
<script>
    let l_aaa = "안녕";
    // let l_bbb = l_aaa + "하세요";
    let l_bb = `${l_aaa} 하세요`; //Template String
    // alert(l_bb);

    //class 키워드 지원
    /*
    class MyClass{
        constructor(p_name, p_age){
            this.name = p_name;
            this.age = p_age;
        }

        getAge=function(){  // 메소드 추가
            return this.age;
        }
    }

    let l_gg = new MyClass("안", 100);
    alert(l_gg.getAge());
    */

    //화살표 함수(Arrow function) 개발자 코딩양을 줄이고, 있어보이려고 만듦
    // 제약사항이 몇개 있는데, 외우려 하지 말고 이상하면 그냥 function 키워드를 씀
    /* 
    var f_aaa = (p_arg)=>{
        alert(p_arg);
    } */

    //매개변수가 없을 때 ()는 생략 가능
    var f_aaa = p_arg=>p_arg;

    //alert(f_aaa("FBI"));

    /* 
    var f_aaa = function(){
        alert("뭐냐..");
    }
    */

    const f_check=function(p_arg){
        console.log()
    }

</script>
</body>
</html>

0개의 댓글