본문 바로가기
반응형

분류 전체보기126

객체 복사 참조하지 않게 하기 var names = [ {"name": "사나"}, {"name": "슬기"}, {"name": "다현"} ]; var names2 = names; names2[0].name = '아이린' 위의 코드를 실행하면 names 와 names2의 0번째 값이 동일하게 변경이 된다. 객체를 = 로 복사할 때 값 자체를 복사하는게 아니라 메모리 주소 참조를 복사하기 때문이다. 해결방법은 JSON.stringify로 배열을 string화 한뒤에 다시 JSON.parse로 배열로 바꿔준다. var names = [ {"name": "사나"}, {"name": "슬기"}, {"name": "다현"} ]; var names2 = JSON.parse(JSON.stringify(names)); names2[0].name =.. 2020. 7. 23.
파일명 자르기 lastIndexOf를 사용하면 특정 값을 반대방향에서 부터 찾기 시작합니다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf String.prototype.lastIndexOf() lastIndexOf() 메서드는 String 오브젝트에서 fromIndex로부터 반대방향으로 찾기 시작하여 특정 값이 일치하는 마지막 인덱스를 반환합니다. 문자열에서 일치하는 특정 값이 없으면 -1을 리턴합니다. developer.mozilla.org 예로 test.jpg라는 파일에서 .을 기준으로 앞뒤로 자른다면 아래와 같습니다. var a = 'test.jpg'; var b = a.slice(0,.. 2020. 7. 13.
vscode 터미널 git bash 설정하기 윈도우 vscode 터미널에서 간혹 먹지않는 명령어들이 있다. 기본터미널을 git bash로 바꿔주면 해결된다. 일단 git이 설치되어 있어야 한다. vscode에서 ctrl + , 를 눌러 설정에 들어갑니다. terminal.integrated.shell.windows 를 입력하고 setting.json에 들어갑니다. 사진과 같이 "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe" 를 입력하고 (자신의 git 설치 경로) 새 터미널을 열어 확인하면 됩니다. 2020. 6. 15.
타입스크립트 기본 타입 불리언 const hello: boolean = true; const world: boolean = false; 참 또는 거짓을 나타내는 타입이다. 숫자 const hello: number = 100; const world: number = 0.5; 숫자를 나타내는 타입이다. 자바스크립트에서는 정수, 부동 소수점 등의 구분이 따로 없다. 문자열 const hello: string = '안녕하세요'; const world: string = '타입스크립트'; 문자열을 나타내는 타입이다. null/undefined const hello: null = null; const world: undefined = undefined; null 타입과 undefined 타입은 각각 null과 undefined라는 하나의 .. 2020. 6. 9.
배열 유사배열 1 2 3 4 5 6 7 8 9 10 const btns = document.getElementsByClassName("btn"); btns.forEach(btn => { btn.addEventListener("click", () => console.log("클릭")) }); 버튼을 클릭할때마다 콘솔이 찍히게 하려하지만 위의 코드는 에러가 납니다. btns가 배열처럼 보이지만 사실은 유사배열이기 때문에 forEach같은 배열 메서드를 사용할 수 없습니다. Array.isArray(btns) 을 찍어보면 false가 나오는걸 보실 수 있습니다. Array.from(btns).forEach(btn => { btn.addEventListener("click", () => console.log("클릭")) }).. 2020. 6. 3.
pushState SPA 방식으로 만들어진 사이트들은 새로고침이 일어나지 않고 내용을 바꿀 수 있습니다. 하지만 url은 바뀌지 않아서 이를 해결할 수 있는 방법이 History API의 pushState() 입니다. history.pushState(state, title, url); state에는 저장할 데이터 객체, title에는 브라우저 제목, url은 바뀔 주소입니다. state와 title은 넣을 값이 없으면 null을 넣어도 됩니다. pushState로 주소를 바꾼 후 뒤로가기를 하면 popState라는 이벤트가 발생합니다. window.addEventListener('popstate', function () { console.log('popstate::', history.state) }); pushState의.. 2020. 5. 22.
반응형