[JS] 객체 요소 추가/삭제 , Object.entries Object.keys Object.values Object.assign , typeof , instanceof , Array.isArray

# 객체 요소 삭제
삭제 →  delete 객체.키
추가 →  객체[새로운Key] = ‘값’
찾기 →  객체.hasOwnProperty(키) // true or false

const   a = { ‘a’ :1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5 }
console.log(a)   //    {a: 1, b: 2, c: 3 , d: 4, e: 5}    출력 

delete a.c;
console.log(a)   //    {a: 1, b: 2, d: 4, e: 5}    키값 ‘c’ 항목이 삭제됨 


# 객체 요소 추가 
a[‘f] = 7 // 추가
console.log(a)  //  {a: 1, b: 2, d: 4, e: 5, f: 7}  //  f:7 추가됨

#
대표적인 유사배열 객체
 
함수의 arguments, HTMLCollection, NodeList 등이 있음

# Object.entries(객체)  →
return : key ,value 타입의 배열로 만듬

const a = [1,2,3,4,5]           
console.log(a)  //  [1, 2, 3, 4, 5]  출력

const tmp = Object.entries(a)  // 키가없는 배열인 경우 키값(인덱스)을 생성하여 key:value 로 리턴

console.log(tmp); [ [0,1] , [1,2] , [2,3], [3,4], [4,5] ]

let c = {“a”:1 , “b”:2 , “c”:3} // 그럼 key,value 가 아닌 key:value 로 만들어진 객체의 경우는?
tmp = Object.entries(c)
console.log(tmp) //  [ [‘a’1] , [‘b’2]  , [‘c’3] ]   // key:value 를 key, value 로 변환해서 리턴

 

# Object.keys(객체) return : key,value 에서 key 만 배열로 리턴
let a = [1,2,3,4,5]
const keys = Object.values(a); // [1,2,3,4,5] 배열은 key/value가 따로 없기때문에 요소 그대로 출력
#

Object.values(객체) → return :  key,value 에서 value 만 배열로 리턴
let a = [1,2,3,4,5]

const keys = Object.values(a); // [1,2,3,4,5] 배열은 key/value가 따로 없기때문에 요소 그대로 출력

# typeof(변수)  → return : Object (배열도 object) , string , number , boolean ,function 등등
console.log(typeof(변수))    // 무슨 타입인가?

# Array.isArray(변수) → return : true or false
console.log(Array.isArray(변수)) // 배열인가?  true or false

# 변수 insteadOf 객체타입(객체끼리 비교할때) →   return : true or false

let x = [1]

class q {

      v;
}
let r = new q;

q.v = 100;

console.log(x instanceof q) // false

console.log(r instanceof q) // true

a = [1,2,3,4,5]

console.log(a instanceof Array) // true

console.log(a instanceof Object) // 배열도 객체니까 당근 true

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다