import & export
module.export → 명시적으로 간편하게 import & export 할 수 있도록 제공
//includes.js 내용
export const fruits = ['apple','banana','potat'];
export const test = "asdf"
export default test;
JavaScript
import {fruits} from './includes';
import {test} from './includes';
import abc from './includes';
console.log(fruits);
console.log(test);
console.log(abc);
//결과
['apple','banana','potat']
"asdf"
"asdf"
JavaScript
Class
코드비교 (ES5)
클래스라는 개념이 없어서 함수로 정의
// Classes
// es5
function Animal() {
this.type = 'chosic';
this.tail = false;
}
//프로토타입에 메소드를 저장시키는 방식으로 메소드 선언
Animal.prototype.setType = function(type) {
this.type = type;
}
Animal.prototype.getType = function(){
return this.type;
}
JavaScript
주요기능
class 지원
class 로 선언할 수 있으며 constructor로 초기화
static 으로 선언가능
// es6
class Animal{
//constructor를 사용한 초기화
constructor(type,tail){
this.type = type;
this.tail = tail;
}
cry(value = 'Woof Woof') {
console.log(value);
}
//static 메서드 선언가능
static instance(){
console.log('instance!!');
}
}
dog.cry('woof');
Animal.instance();
JavaScript
상속 & Overriding
Java와 동일하게 extends 를 사용하여 상속
// inheritance
class Cat extends Animal {
constructor(type, tail, color){
super(type,tail);
this.color = color;
}
cry (value = "Meow Meow"){
console.log(value);
}
}
let cat = new Cat('Cat',true,'yellow');
cat.cry();
console.log(cat);
JavaScript
'Web 개발 > JS ' 카테고리의 다른 글
ES6 : 비구조화 (0) | 2019.06.08 |
---|---|
ES6 : Arrow Function, Default Params (0) | 2019.06.08 |
ES6 : Map & Set (0) | 2019.06.08 |
ES6 : for...of (0) | 2019.06.08 |
ES6 : includes, let & const (0) | 2019.06.08 |