* 예시 (ib/Util.js) *
const AUTHOR = 'YAMADA, Yoshihito';
export class Member { ... }
export class Area { ... }
import { Member, Area } from './lib/Util';
var m = new Member('성룡', '김');
console.log(m.getName()); // 결과 : 김성룡
import * as app from './lib/Util';
var m = new app.Member('성룡', '김');
console.log(m.getName()); // 결과 : 김성룡
module './lib/Util';
var m = new MyMember('성룡', '김');
console.log(m.getName()); // 결과 : 김성룡
console.log(MyArea.getTriangle(10, 5)); // 결과 : 25
export default class {
static getTriangle(base, height) {
return base * height / 2;
};
}
let data_ary = ['one', 'two', 'three'];
let data_str = '가나다라마';
let data_map = new Map[['MON', '월요일'], ['TUE', '화요일'], ['WED', '수요일']]);
for(let d of data_ary) {
console.log(d); // 결과 : one two three
}
for(let d of data_str) {
console.log(d); // 결과 : 가,나,다,라,마
}
for(let d of data_map) {
console.log(`${key}:${value}1`); // 결과 : MON:월요일, TUE:화요일, WED:수요일
}
let data_ary = ['one', 'two', 'three'];
let itr = data_ary[Symbol.iterator] ();] ⓐ
let d;
while (d = itr.next()) { ⓑ
if (d.done) { break; } ⓒ
console.log(d.done); // 결과 : false, false, false
console.log(d.value); // 결과 : one two three
ⓐ [Symbol.iterator] 메소드는 배열 내의 요소를 열거하기 위한 반복자(Iterator 객체)를 반환한다.
ⓑ 반복자는 배열의 다음의 요소를 꺼내기 위한 next 메소드를 갖는다
프로퍼티 | 개요 |
---|---|
done | 반복기가 끝에 도달했는가 = 다음의 요소가 없는가 |
value | 다음 요소의 값 |
ⓒ done 프로퍼티가 true에 반환하기까지 while 루프로 반복함으로써 배열의 내용을 출력
- function*{...}으로 정의
- yield 명령으로 값을 반환
function* myGenerator() {
yield '가나다라마';
yield '바사아자차';
yield '타카파하갸';
}
for(let t of myGenerator()) {
console.log(t);
} // 결과 : 가나다라마, 바사아자차, 타카파하갸
🔹 yield
: return과 비슷한 명령 = 함수의 값을 호출자에게 반환한다.
: return은 그 자리엣 함수를 종료하는 반면, yield은 처리를 일시 중지할 뿐 즉, 다음에 호출될 때는 그 시점부터 처리를 재개할 수 있다.
: 메모리 소비를 관리하기 때문에 최소한으로 처리 할 수 있다.
new Proxy (target, handler)
target : 조작을 끼워 넣어야 할 대상이 되는 객체
handler : 타깃의 조작을 정의하기 위한 객체
let data = { red : '빨간색', yellow: '노란색' };
var proxy = new Proxy(data, {
get(target, prop) { ⓐ
return prop in target ? target[prop] : '?';
}
});
console.log(proxy.red); // 결과 : 빨간색
console.log(proxy.nothing); // 결과 : ?
ⓐ target의 prop가 존재하고 있으면 그 값(target[prop])을 반환하고, 그렇지 않으면 ?를 반환한다.