👋 WeakMap 오브젝트 메소드: get(), set(), has(), delete()
1. get()
-
WeakMap
인스턴스에서- key 값이 같은 value 반환
- 존재하지 않으면
undefined
반환
const fn = () => {}; const obj = new WeakMap([[fn, '함수']]); console.log(obj.get(fn)); // 함수
2. set()
-
WeakMap
인스턴스에 key, value 설정const fn = function(){}; const obj = new WeakMap([ [fn, "함수] ]); console.log(obj.get(fn)); // 함수 obj.set(fn, "함수 변경"); console.log(obj.get(fn)); // 함수 변경
-
첫 번째 파라미터에 key로 사용할 오브젝트 작성
- string과 같은 프리미티브 값 사용 불가
-
두 번째 파라미터는 값
- 첫 번째 파라미터의 오브젝트에 대한 값?
- 오브젝트 구분 등의 용도, 오브젝트에 따라 연동하는 함수 등록
3. has()
-
WeakMap
인스턴스에서- key의 존재 여부 반환
- 존재하면
true
, 아니면false
반환
const obj = {}; const weakObj = new WeakMap([[obj, '오브젝트']]); console.log(weakObj.has(obj)); // true
4. delete()
-
WeakMap
인스턴스에서- key와 일치하는
entry
삭제
const fn = function () {}; const obj = new WeakMap([[fn, '함수']]); console.log(obj.delete(fn)); // true console.log(obj.has(fn)); // false
- 삭제를 성공하면
true
반환 - 삭제를 실패하면
false
반환
- key와 일치하는