본문 바로가기

Study/JS

(36)
Map Map Map 이란? Map객체는 키와 값의 쌍으로 이루어진 컬렉션이다. 객체와 유사하지만 객체를 포함한 모든 값을 키로 사용할 수 있다. 이터러블 객체이다. 요소 개수 확인을 map.size로 한다. 중복된 키를 갖는 요소가 존재하면 값을 덮어쓴다 = 중복된 키를 갖는 요소가 있을수 없다. Map.set 객체에 요소를 추가할때는 Map.set 메서드를 사용한다. 새로운 요소가 추가된 Map객체를 반환하므로 연속적 호출이 가능하다. const map = new Map(); console.log(map); // Map(0){} map.set('key1', 'value1'); console.log(map); // Map(1){"key1" => "value1"} map .set('key2', 'value2')..
Set Set Set 이란? Set 객체는 중복되지 않는 유일한 값들의 집합니다. 배열과 유사하지만 동일한 값을 중복하여 포함할 수 없다. 요소 순서에 의미가 없다. 인덱스로 요소에 접근할 수 없다. 수학적 집합을 구현하기 위한 자료 구조이다. const set1 = new Set([1,2,3,3]); console.log(set1); // Set(3) {1,2,3} const set2 = new Set('hello'); console.log(set2); // Set(4) {'h','e','l','o'} Set.size 요소 개수 확인 프로퍼티(getter함수만 존재하는 접근자 프로퍼티이다.) const {size} = new Set([1,2,3,3]); console.log(size); // 3 const s..
String String String.indexOf 대상 문자열에서 인수로 전달받은 문자열을 검색하여 첫번째 인덱스를 반환한다. 실패하면 -1을 반환한다. const str = 'Hello World'; str.indexOf('l'); // 2 str.indexOf('or'); // 7 str.indexOf('x'); // -1 str.indexOf('l',3); // 3 -> 2번째 인수로 검색을 시작할 인덱스를 설정 String.search 대상 문자열에서 인수로 전달받은 정규표현식과 매치하여 검색. 검색실패시 -1을 반환한다. str.search(/o/); // 4 str.search(/x/); // -1 String.includes 인수로 전달받은 문자열이 포함되있는지 확인하여 불린값으로 반환한다. str.i..
Math Math Math.PI 원주율 값을 반환한다. Math.PI; //3.141592653589793 Math.abs 인수로 전달된 숫자의 절대값을 반환한다. 절대값은 반드시 0 또는 양수이다. Math.abs(-1) // 1 Math.abs('-1') // 1 Math.abs('') // 0 Math.abs([]) // 0 Math.abs(null) // 0 Math.abs(undefined) // NaN Math.abs({}) // NaN Math.abs('string') // NaN Math.abs() // NaN Math.round 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다. Math.round(1.4); // 1 Math.round(1.6); // 2 Math.round(-1.4)..
배열 고차함수 배열 고차함수 고차함수 함수를 인수로 전달받거나 함수를 반환하는 함수. Array.sort 배열의 요소를 정렬한다. 원본배열을 직접변경 후 정렬된 배열을 반환한다. 한글도 정렬 가능하며, 디폴트 값은 오름차순이다 const fruits = ['Banana', 'Orange', 'Apple'] fruits.sort(); console.log(fruits) // ['Apple', 'Banana', 'Orange'] 숫자요소를 정렬할때는 유니코드 포인트 순서로 정렬하기때문에 바르게 정렬할 때는 반드시 정렬 순서를 정의하는 비교함수를 인수로 전달해야한다. const points = [40,100,1,5,2,25,10]; points.sort() // [1,10,100,2,25,40,5] points.sort((..
배열 메소드 배열메소드 Array.indexOf 원본 배열에서 인수로 전달된 요소를 검색해서 인덱스를 반환한다. (중복요소가 여러개라면 첫번째로 검석된 요소의 인덱스를, 존재하지않으면 -1을 반환) const arr= [1,2,2,3]; arr.indexOf(2) // 1 arr.indexOf(4) // -1 //두번째 인수는 검색을 시작할 인덱스이다. 두번째 인수를 생략하면 처음부터 검색한다. arr.indexOf(2,2) // 2 const foods=['apple','banana','orange']; if(foods.indexOf('orange) === -1){ foods.push('orange'); } Array.push 인수로 전달받은 모든 값을 원본 배열의 마지막요소로 추가하고 변경된 length프로퍼티 ..
원시타입과 참조타입 원시타입과 참조타입 - 식별자 : 이름을 붙일 때 사용하는 단어 (변수명, 함수명, 속성명, 메소드명) - 할당 : 식별자에 데이터를 넣는 행위 - 타입 : 식별자에 넣는 데이터 값의 종류 JavaScript의 변수타입 자바 스크립트의 데이터타입은 원시타입과 참조타입으로 나누어져 있다. 원시타입 가장 작은 데이터의 값. 객체가 아니면서 메소드도 가지고 있지 않은 더이상 쪼갤 수 없는 단위. 원시타입의 종류 string, number, bigint, boolean, undefined, null, symbol 원시타입의 데이터할당 변수에 할당 시 메모리에 고정 크기로 값을 저장하고, 저장된 값의 주소를 변수가 직접적으로 가리키는 형태를 띈다. let a = 1; a = 2; 첫 라인이 실행되면 메모리에 1이..
this This ? this는 객체 자신의 프로퍼티나 메서드를 참조하기 위한 자기참조변수 이다. this가 가르키는 값은 함수호출방식에 따라 동적으로 결정된다. 문단 일반 함수로서 호출 = 전역객체 function foo() { console.log(this); } foo(); // window // 전역객체는 브라우저 환경에서는 window, node.js환경에서는 global을 가르킨다. 메서드로서의 호출 = 메서드를 호출한 객체(마침표 앞의 객체) const obj = {foo}; //obj 생성자 함수로서 호출 = 생성자 함수가 (미래에)생성할 인스턴스 const inst = new foo(); // inst