본문 바로가기

Today I learned!46

[JS] "복사 방지" 구현 데브매칭을 보다가 처음 검색해보고 구현해봤다. keydown 이벤트로는 ctrl+c 만 방지할 수 있고, 마우스로 오른쪽 클릭해서 복사 방지는 불가능 해 검색하다가 아래의 글을 보게되었다(하단의 참고 자료) 어떤 element에서 복사금지를 구현하고 싶다면 element.addEventListener('copy',(e)=>{ e.preventDefault() }) 그냥 이렇게만 해도 복사가 되지 않는다(문제는 그 때 이렇게 못풀음! ㅎㅎ 나란 사람 바보일수도~!) 만약 어떤 조건에만 발동해야 한다면 element.addEventListener('copy',(e)=>{ if(element.includes('h')){ e.preventDefault() alert('h는 묵음이야') } }) 이런 식으로 해준.. 2023. 6. 19.
[JS]Array.prototype.at() 인덱스 값을 매개변수로 받고있는 메서드고, 해당하는 배열에서 해당 인덱스에 해당하는 값을 반환한다. 주어진 인덱스가 배열에 없으면 undefined를 반환 let arr=['cry','cry','...','so','sad']; console.log(arr.at(-1)); //출력결과: 'sad' 자바스크립트 강의를 다시 듣고있는데, 분명 학습 했겠지만 전혀 기억이 안나는 메서드등장! 알고리즘 풀때 얼마나 arr[arr.length-1]을 써댔는데! 역시 모르면 돌아간다고... 허겁지겁 mdn가서 문서 정독하고 왔다. 기억하자! 참고 자료 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/at Array.p.. 2023. 5. 24.
[JS] Promise.race() 그냥 호기심에 릿코드 자바스크립트 카테고리에 있는 문제를 푸는 와중에 알게 되었다. (자바스크립트 카테고리에는 알고리즘 문제 x) 대충 말하면 제일 빨리 달린 Promise의 결과값을 이행하거나 거부한다. 그냥 젤 빨리달린 애 반영하는거... mdn의 설명은 아래와 같다 Promise.race() 메소드는 Promise 객체를 반환합니다. 이 프로미스 객체는 iterable 안에 있는 프로미스 중에 가장 먼저 완료된 것의 결과값으로 그대로 이행하거나 거부합니다. 비어있는 iterable을 전달할 경우 영원히 대기 상태가 된다고 한다. 또, iterable에 Promise가 아닌 값이나, 이미 완료된 Promise가 포함되었을 경우에는 가장 처음 등장하는 Promise가 아닌 값이나, 이미 완료된 Prom.. 2023. 5. 10.
[TS]readonly 속성, 인덱스 시그니처,intersection 타입... readonly 말 그대로 읽기 전용. 해당 속성을 읽기 전용으로 지정 가능. 수정할 수 없음. 다만, 아래와 같은 예인 경우는 가능 interface Home { readonly resident: { name: string; age: number }; } function visitForBirthday(home: Home) { console.log(`Happy birthday ${home.resident.name}!`); home.resident.age++; } function evict(home: Home) { home.resident = { name: "Victor the Evictor", age: 42, };//Error!! } resident 객체 안의 속성은 업데이트가 가능하지만, home의 r.. 2023. 5. 7.