//////
Search
😊

entries, fromEntries, freeze

Created
2023/05/24 12:46
Tags
Date
2023/05/24

Object.entries()

매개변수로 받은 obj의 enumerable속성을 [key, value] 쌍을 배열로 반환합니다.
const case1 = { a : 1, b : 2, c : 3 } console.log(Object.entries(case1)) // [ ['a',1], ['b',2], ['c',3] ] const case2 = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.entries(case2)); // [['2', 'b'], ['7', 'c'], ['100', 'a']]
JavaScript
복사

Object.fromEntries()

매개변수로 전달받은 키-값쌍 목록을 객체로 반환해준다. Object.entries()의 반대되는 메서드임.
const case1 = [ ['a',1], ['b',2], ['c',3] ]; console.log(Object.fromEntries(case1))//{a: 1, b: 2, c: 3} //배열을 객체로 만들어서 반환 const case2 = [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]; console.log(Object.fromEntries(case2))//{2: 'b', 7: 'c', 100: 'a'} //배열을 객체로 만들어서 반환
JavaScript
복사

Object.freeze()

객체를 동결시켜 속성값을 추가하거나 변경하거나 제거를 방지함
//배열생성 const case1 = [1,2,3]; //case1를 동결시켜볼께요 Object.freeze(case1) //배열에 2를 추가해볼께요 case1.push(1);//error case1.pop()//error case1[0] = 10;//error를 발생시키지 않고 조용히 넘어감 대신 변경은 안됨!! console.log(case1[0])// 1 //case1이 동결인지 아닌지 확인해볼께요 Object.isFrozen(case1);//true //객체생성 const case2 = { name : 'kim' } //동결시켜보자 Object.freeze(case2) //age속성을 추가시킨후에 case2를 출력시켜보면 case2.age = 100 console.log(case2)//{name: 'kim'} //name속성을 삭제시킨후 콘솔을 찍어보면 delete case2.name console.log(case2)//{name: 'kim'} //name속성 값을 변경시킨 후 콘솔을 찍어보면 case2.name = 'park' console.log(case2)//{name: 'kim'} Object.defineProperties()메서드는 각 속성을 수정할지 안할지 결정할 수 있었지만 Ojbect.freeze()메서드는 모든 것을 막는다.
JavaScript
복사