2020.11.17~18

DD·2020년 11월 17일
0

새벽을 넘기다보니 계속 제목이...

아무튼 오늘 작업하면서 일기쓰기 ..
.
.
radio에서 checked된 값을 가져오는 방법
1. document.querySelector('input[name="radioName"]:checked').value;
출처 : [Javascript/JQuery] radio checked value 값 알아내기

이 방법이 제일 깔끔해 보인다.
다만 querySelector는 편하지만 getElementById와 같은 메소드에 비해 약간 느리고, 지원이 덜 된다고한다. 개발자들은 getElement~메소드들을 더 많이 이용한다고.. 하지만 can i use에서 보면 querySelector도 거의 지원한다. ie8 이하가 아니라면..

참고 : getElementById 그리고 querySelector 차이점
.
.

2.getElementsByName으로 가져온 배열에 반복문으로 찾기
별 다른 설명이 필요 없다. 쪼금 귀찮긴 하지만 querySelector보다 이 방법이 더 빠를까 ??

querySelector vs getElementById
querySelector()에 성능문제에 대해 질문 드립니다.

이 두 사이트에서 알아본 바로는 querySelector가 약 1.2배 정도 빠르다고 한다. 다만 성능과 생산성/편리성 등을 고려해서 취사선택하면 된다는 의견이다. getEelement~가 더 빠른건 명백한 사실이지만 드라마틱한 차이는 아니고 querySelector도 충분히 빠르다.
id뿐만 아니라 다른 식별자도 사용할 수 있다는 점에서 편리하고, 생산성이 높다.
.
.
과거에는 sort를 어떻게 하면 더 빠르게할까, 와 같은 고민을 하며 '성능'에 집중했지만 요즘은 하드웨어가 워낙 좋아서.. 그럴 고민할 시간에 더 나은 하드웨어를 사용하거나 서버를 하나 더 사거나 하는게 더 나을수도 있다. 그럴 돈을 아껴야한다면 성능을 고려하겠지만! 역시 돈이 최고인가..?
.
.
지금 내 경우에 성능을 극한으로 올릴 필요는 없으니 이후에 필요하다면 querySeletor를 사용해야겠다.

오전 3시 31분
알 수 없는 오류를 맞이했다. html파일에서 script 파일을 읽어오질 못 한다.. 도대체 왜..? 경로미스나 오타도 없는데 ㄷ ㅐ ㅊ ㅔ 왜 ??

이유는 script 태그를 type=module로 지정했기 때문이다. restAPI.JS로 파일을 구분해서 모듈화 하다보니 그랬던건데 그러면 html이 읽지 못하는건가..? 기본은 type = 'text/javascript' 일 테니까?? 그럼 어떻게 모듈을 쓰는건지 .. mdn을 읽어본다

정확한 원인은 찾지 못했다. 일단 type을 module로 바꾸면 자동으로 defer 프로퍼티가 추가된다는 것. 이거때문인거 같은데

body태그에 onload하던 것을
document.addEventListener('DOMContentLoaded", set())
이 방식으로 바꿔서 해결했다. onload와 이 방식의 실행순서? 때문인거 같은데 정확한 이유를 찾지는 못했다.
.
.
또다른 문제로 생성된 textarea에 addEventListener로 restAPI를 호출하는 모듈에서 함수를 실행시키도록 연결해야하는데 아직 DOM에 렌더링 하기 전에 이벤트 리스너를 추가할 수 없는거 같다. (appendChild함수가 끝났더라도 아직 document에 해당 객체가 없어서 null이 나온다)
이건 또 어케 해결하지 .. 추가가 문제가 아니라 column이 한 칸 앞인 객체를 찾을 수 없는게 문제인건가
.
.
해결못하고 자러간다. 아침 7시..

profile
기억보단 기록을 / TIL 전용 => https://velog.io/@jjuny546

0개의 댓글