개발공부_Blog/JavaScript86 JavaScript의 Map과 Set객체는 HashTable구조를 활용한다 Data Structure에는 hash table이 있다.hash table은 연관 배열 구조(associative array)로, 키 하나와 값 하나가 연관되어 있으며 키를 통해 연관되는 값을 얻을 수 있는 자료구조이다.hash table은, 해시 함수가 주어진 키 값을 받아 유니크한 해시값으로 변환해 이를 key로 저장, 해당 키에 값을 매칭하는 방식으로 만들어진다. 위와 같은 방식으로 만들어진 hash table은 데이터를 저장, 검색하는 데 효율적으로 사용된다. 유니크한 키값을 활용한 덕분에 데이터 검색, 저장, 삭제시 O(1) 이라는 최적의 시간 복잡도가 나오게 된다. ( 해시 충돌로 인한 시간복잡도는 여기서는 논외로 하겠씀니다@_@ !!!!!!!!! ) JavaScript에서도 Hash Tab.. 2024. 11. 29. Javascript _이벤트타입 마우스 이벤트 click 마우스 버튼을 클릭했을 때 dbclick 마우스 버튼을 더블클릭 했을 때 mousedown 마우스 버튼을 눌렀을 때 mouseup 누르고 있던 마우스 버튼을 놓았을 때 mousemove 마우스 커서를 움직였을 때 mouseenter 마우스 커서를 html요소 안으로 이동했을 때 버블링X mouseover 마우스 커서를 html요소 안으로 이동했을 때 버블링 됨 mouseleave 마우스 커서를 html요소 밖으로 이동했을 때 버블링 X mouserout 마우스 커서를 html요소 밖으로 이동했을 때 버블링 됨 키보드 이벤트 keydown 모든 키를 눌렀을 때 발생한다 keypress 문자 키를 눌렀을 때 연속적으로 발생한다 keyup 누르고 있던 키를 놓았을 때 한 번만 발생한다.. 2022. 11. 11. 스프레드 문법( ... ) 집합체인 값들을 개별값으로 푼다. 스프레드 문법 ( ... ) 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든다. 스프레드 문법의 결과는 값이 아니다. 아래 예제의 ...[1,2,3]로 펼친 요소들인 1 2 3 은 값이 아니라 값들의 목록이다. 이는 스프레드 문법이 값을 생성하는 연산자가 아님을 뜻한다. 따라서 스프레드 문법의 결과는 변수에 해당할 수 없다. // 개별요소로 분리함 console.log(...[1,2,3]) // 1 2 3 console.log(...'hello') // h e l l o // 일반객체는 스프레드 문법의 대상이 될 수 없다 console.log(...{a:1, b:2}) //typeError: Found non-callable @@iterator 문법의 결과물은 값의 목록을 사용.. 2022. 11. 9. JavaScript _Date객체_Date()생성자함수 Date는 날짜와 시간을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. Date 생성자함수 Date객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. 1970년 1월 1일 00:00:00(UTC-세계협정시)를 기준으로 Date객체가 나타내는 날짜와 시간까지의 밀리초를 나타낸다. Date객체는 기본적으로 현재 날자와 시간을 나타내는 정수값을 가진다. Date 생성자 함수에 명시적으로 해당 날짜,시간을 지정할 수 있다. new Date() 인수없이 new연산자와 함깨 호출하면 현재 날짜와 시간을 가지는 Date객체를 반환한다 Date 객체는 1970년 1월 1일 UTC(국제표준시) 자정으로부터 지난 시간을 밀리초로 나타낸다. const date1 = new Date(); // Wed Nov.. 2022. 11. 9. JavaScript 문자열공백제거, 문자열 반복, 문자열 자르기 String.prototype.trim (공백제거) 대상 문자열 앞뒤에 공백 문자가 있을 경우 이를 제거한 문자열을 반환한다 trimStart, End로 공백의 앞뒤를 구분해 제거할 수 있다 const str = ' soso ' str.trim()// 'soso' str.trimStart()// 'soso ' str.trimEnd()// ' soso' String.prototype.repeat (문자열 반복) 대상 문자열을 인수로 전달받은 정수만큼 반복해 연결한 새로운 문자열을 반환한다 전달받은 인수가 0이거나 빈 문자열이면 ' ' 을 반환한다 2.5는 2로 변환해 새로운 문자열을 반환한다 -1과 같이 음수는 Error를 발생시킨다 const str = '★' str.repeat()// '' str.re.. 2022. 11. 8. JavaScript 문자열 변환, 치환 (replace, toUpperCase, toLowerCase) String.prototype.toUpperCase / toLowerCase 대문자 // 소문자로 변경한 문자열을 반환 const str = 'Hello World'; str.toUpperCase() // 'HELLO WORLD' str.toLowerCase() // 'hello world' String.prototype.replace 첫 번째 인수로 전달받은 문자열(정규표현식)을 검색하여 두 번째 인수로 전달한 문자열로 치환한 문자열을 반환한다 const str = 'hello world'; // world의 위치에 soyoung으로 치환 str.replace('world','soyoung') // 'hello soyoung' 2022. 11. 8. JavaScript 문자열찾기 ( indexOf, includes, substring, charAt, slice) String.prototype.indexOf 인수로 전달받은 문자열을 검색하여 첫 번째 인덱스를 반환한다. 검색에 실패하면 -1 을 반환한다. 검색을 시작할 인덱스를 지정할 수 있다. 대상 문자열에 특정 문자열이 존재하는지 확인할 때 유용하다 const str = 'hello World' //문자열 str에서 'l'을 검색하여 첫번재 인덱스를 반환한다 str.indexOf('l')// 2 str.indexOf('x')// -1 // 검색을 시작할 인덱스를 지정할 수 있다. // 3번째 인덱스부터 'l'을 검색하고, 이후에 나온 'l'의 인덱스 번호를 반환한다 str.indexOf('l', 3) // 3 // 대상 문자열에 특정 문자열이 존재하는지 확인 if (str.indexOf('hello') !== .. 2022. 11. 8. JavaScript _ String객체 String객체는 생성자 함수다. new 연산자와 함께 호출하여 string 인스턴스를 생성할 수 있다. new 연산자를 사용하지 않고 string 생성자 함수를 호출하면 string인스턴스가 아닌 문자열을 반환한다 // 숫자타입, 불리언타입 => 문자열 타입 String(1)// "1" String(NaN)// "NaN" Stting(true)//"true" length 프로퍼티 문자열의 문자 개수를 반환한다. 'hello'.length// 5 String 메서드 배열에는 원본 배열을 직접 변경하는 메서드와 새로운 배열을 생성하여 반환하는 메서드가 있다. 문자열은 변경 불가능한 원시값이기 때문에 String 객체의 메서드는 언제나 새로운 문자열을 반환한다. 문자열 찾기 문자열찾기 ( indexOf, i.. 2022. 11. 8. Math프로퍼티, 메서드(abs, around, ceil, floor, random, max, min) Math는 수학적인 상수,함수를 위한 프로퍼티와 메서드를 제공한다. Math프로퍼티 Math.PI 원주율값을 반환한다 Math.PI // 3.141592653589793 Math메서드 Math.abs 인수로 전달된 숫자의 절대값을 반환한다. Math.abs(-223) // 223 Math.around 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환 Math.round(1.4)// 1 Math.round(1.7)// 2 Math.round(-1.4) // -1 Math.round(-1.7) // -2 Math.ceil 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환 Math.floor 인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환 // ceil 올림 Math.ceil(1.4)// .. 2022. 11. 7. 이전 1 2 3 4 ··· 10 다음