JavaScript

JS | ES6 문법 - 모듈

개발 공부 2023. 1. 13. 12:28

 

/*
* 모듈 익스포트, 임포트
- 모듈은 js ES6의 미리작성해 놓은 스크립트 파일입니다.
- 변수 , 함수 ,클래스 등이 정의 되어있습니다.

- 모듈을 내보내는 방식
- 여러 값을 내보낼 때 named export 방식
- 단일 값을 내보낼 때 default export방식
*/

export const name = "이순신";
export const age = 20;

export const info = () => {
    console.log('이름 '+ name + ', 나이 '+ age);
}

let addr = "서울시";
let myInfo = () => {
    console.log(addr); 
}
export {addr, myInfo};
<script type = "module">
        //예제에서 module을 사용하려면 type을 반드시 적어야합니다
        
        //import1 - destructuring 방식
        import {name, age, info, addr, myInfo} from './index01.js';

        console.log(name); //이순신
        console.log(age); //20
        info();  //이름 이순신, 나이 20
        console.log(addr); //서울시
        myInfo(); //서울시

        console.log("---------------");
        //import2 - 엘리어스 방식
        import * as test from './index01.js';

        console.log(test.name); //이순신
        console.log(test.age); //20
        test.info(); //이름 이순신, 나이 20
        console.log(test.addr);//서울시
        test.myInfo(); //서울시

        console.log("----------------");
        //import3 - 이름붙여 가져오기
        import {name as n, age as a} from './index01.js';
        
        console.log(n); //이순신
        console.log(a); //20

        



    </script>

---

class Person {
    
    constructor(name, age){
        this.name = name; //멤버변수
        this.age = age; //멤버변수
    }

    getInfo = () => {
        return `이름${this.name} , 나이 ${this.age}`;
    }

}

//default구문은 반드시 1개여야 합니다
export default Person;
<script type = "module">
        
        import Person from './index02.js';

        const p = new Person("hong", 20);
        console.log(p.getInfo());

        

    </script>