웹 프로그래밍/Front-End

Javascript 생성자, 프로토타입

BSHwan 2020. 3. 21. 16:26
반응형

- Java 에서 사용하던 Map을 Javascript 에서 구현 한다.

- html 파일 실행 시 console 에 아래와 같이 출력되도록 js 파일 작성.


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script src="map.js"></script>
    <script src="homework.js"></script>
</body>

</html>

var map = new MyMap();
map.put("id", "ssafy");
map.put("name", "싸피");

console.log(map.size()); // 2
console.log(map.get("id")); // ssafy
console.log(map.get("name")); // 싸피
map.remove("id");
console.log(map.get("id")); // undefined
map.clear();
console.log(map.size()); // 0

/**
 * MyMap 생성자로 사용될 함수를 구현
 */

function MyMap() {
	this.data = {};
	this.count = 0;
}

MyMap.prototype = {
	put(key, value) {
		this.data[key] = value;
		this.count++;
	},
	size() {
		return this.count;
	},
	get(key) {
		return this.data[key];
	},
	remove(key) {
		delete this.data[key];
		this.count--;
	},
	clear() {
		this.data = {};
		this.count = 0;
	}
};
반응형