JS(22)
-
?. [Optional chaining] 객체 안에 값이 확실치 않을 때 읽는 방법
const obj = { aClass:{ name:'a클래스' }, bClass:{ name:'b클래스' }, cClass:{ name:'c클래스' } } Optional chaining dClass라는 값이 있는지 확실치 않을 때 ?. 연산자 를 사용 사용방법 obj?.dClass.name 존재 하지 않을때는 undifind를 나타낸다.
2022.02.09 -
JavaScript 비어있는 Object (객체) 확인 방법
객체 안에 내용이 있는지 확인 할 때 사용한다. 방법 Object.keys() 함수를 사용하여 해당하는 객체의 key 목록을 배열로 변환시켜 갯수를 확인하면 된다. const testObj = {} const testObj2 = {"title":"비어있지 않습니다"} if(Object.keys(testObj).length === 0){ console.log('testObj은 빈 객체입니다.') }else{ console.log('testObj은 비어있지 않습니다.') } if(Object.keys(testObj2).length === 0){ console.log('testObj2은 빈 객체입니다.') }else{ console.log('testObj2은 비어있지 않습니다.') }
2022.01.09 -
배열 맨 앞에 데이터 추가하기 unshift()
배열에서 해당 데이터가 맨 앞에 삽입되어야 하는 경우가 종종있다. 그때 사용하는 함수다. unshift() 사용 방법 const data = [1,2,3,4] data.unshift('test') console.log(data) //['test', 1, 2, 3, 4]
2022.01.04 -
JavaScript 배열에서 특정 값 빼기 [ splice() 사용 ]
사용 방법 Array.splice( 제거 시작점, 제거 건수) ex) list.splice(0, 2) 의미 list 배열에서 splice함수를 사용하여 0번째 부터 2개의 list값을 삭제한다. const list = [1, 2, 3, 4, 5] console.log(list, '______제거 전 list') list.splice(0, 2) console.log(list, '______제거 후 list')
2021.10.20 -
JS 쿠키를 Session처럼 사용하는 방법
쿠키는 expire로 만료기간을 지정하여 저장하면 만료기간이 끝날때 까지 브라우저가 꺼져도 컴퓨터가 꺼저도 살아 남아있다. 하지만 session처럼 쓰고싶거나 써야 할 때 가있다. 그 때 사용하는 방법이다. const expires = '; expires=' + date.toGMTString() + ';' //로그인 쿠키 저장 const nonSaveAuthCookie = (value) => { document.cookie = `user=${value}` + 'path=/;' } //자동로그인 쿠키 저장 const savAuthCookie = (value) => { document.cookie = `user=${value}` + expires + 'path=/;' } expire를 설정하지않고 쿠키를 만..
2021.08.31 -
JS 원본 내용 그대로 저장 하기 Deep Copy (배열, 객체)
개발을 하다 보면 원본과 사본을 반복적으로 참조해야할때가있다. 이때 보통 나는 이렇게 얕은복사 참조 복사를 했다. 하지만 반복적으로 원본을 사용해야하는 개발에서는 알맞지가 않다. 그러므로 원본이 변경이 되지않는 딥카피를 해야한다. 1. 배열 Array 방법 : slice()를 사용하여 딥카피를 한다. 얕은 복사 : // 얕은복사 const a = [1, 2, 3] let b = a b[3] = 7 console.log(a) // [ 1, 2, 3, 7 ] console.log(b) // [ 1, 2, 3, 7 ] 딥 카피 : // 딥 카피 const a = [1, 2, 3] let b = a.slice() b[3] = 7 console.log(a) // [ 1, 2, 3 ] console.log(b) /..
2021.08.20