[TIL] 03_2021-08-04

MJ Kim·2021년 8월 4일
1

TIL

목록 보기
3/12
post-thumbnail

이전에 TIL을 토픽주제로 잡다보니 심도있게 다루고 싶은 욕심(?)에 작성 시간이 너무 많이 걸려서 토픽주제를 잡고 velog를 작성하는 것은 빈도를 조금 줄이기로 하였다.😇

새롭게 알게 된 것


DOM

배경

  • 서버로 전송하는 데이터에 대해 클라이언트 측에서 폼(form, 입출력플랫폼) 객체의 데이터 유효성 검사(입력값이 유효범위에 들어오는 것만 전송)가 필요하게 되며, Javascript를 이용해 입력값을 검사하게 되었다.
  • ex) true : 서버에 전송 / false : alert
  • 조작할 수 있는 객체가 form -> document -> window로 점점 확장



Javascript

데이터 타입

  1. 기본 타입(원시 타입: Primitive Type)
    : 숫자(number), 문자열(string), 불린값(boolean), undefined, null, 심벌(symbol)

  2. 참조 타입(객체 타입: Object/Reference Type)
    : 객체, 배열, 함수, 정규 표현식

  • 자바스크립트의 기본타입(원시타입)은 객체가 아니지만, 객체처럼 메서드 호출이 가능.(undefined, null 제외)
	"string".toUpperCase() // STRING
  • string 자료형을 객체로 임시로 변환하며, 프로퍼티의 참조가 끝나면 다시 원시타입으로 복귀

자료구조

  • Queue의 dequeue를 shift( )를 사용하여 구현시 시간복잡도가 O(n)이므로 사용 지양하기.
  • 대신 링크드리스트로 구현하거나, 배열로 구현시 index를 따로 변수로 설정하여 조작하기.


느낀점

이전까지 queue를 구현 시 unshift()를 많이 사용했는데, 정말 비효율적이였구나😅
새삼 JS는 정말 동적인 언어란 것을 느끼게 되었다. 사용하는데 있어 자유로운 만큼 위험성도 높으니 코딩할 때는 정신을 차리자...

profile
기초가 튼튼한 개발자로 성장하기 💻 🤞

0개의 댓글