반응형

JavaScript 38

[JavaScript] 문자열 정렬하기 (+예제, sort()이해)

들어가기 사전 지식 sort()를 먼저 이해하고 진행한다. https://cruella-de-vil.tistory.com/45 [JavaScript] sort(), 오름차순 정렬, 내림차순 정렬 Array.prototype.sort() sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따 cruella-de-vil.tistory.com 이해 sort() 안에 compareFunction을 사용해야 여러 상황에서 오름차순 및 내림차순이 가능하다. function compare(a, b) { if () { return -1; //a가 b보다 먼저 옵니다. } if () { r..

JavaScript 2022.04.16

[JavaScript] Scope(스코프), Closure(클로저), var

Scope (스코프) 개념 변수가 유효성을 가지는 범위. 스코프는 기본적으로 프로세스 메모리 맵의 구조에 의존적. 선언된 위치에 따라 스코프가 결정된다. 같은 이름으로 변수가 선언된 경우 스코프가 겹칠 수 있다. 스코프가 겹칠 때 어떤 변수가 우선권을 가지는지 판단하는 기능이 필요하며 이러한 기능을 식별자 결정(identifier resolution)이라고 한다. 종류 구분 전역 스코프 지역 스코프 변수의 의미 전역변수 지역 변수 선언위치 코드의 가장 바깥 부분 함수의 내부 유효영역 전역 영역과 그 하위 영역 함수 자신과 그 하위 영역 특징 Var와 같은 선언자를 생략시 전역 스코프 - ES5(var)는 함수 레벨 스코프 지원 - ES6(let, const)는 블록 레벨 스코프 지원 ** 블록 레벨 스코..

JavaScript 2022.04.16

[JavaScript] sort(), 오름차순 정렬, 내림차순 정렬

Array.prototype.sort() sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다. 구문 arr.sort([compareFunction]) 매개변수 compareFunction Optional정렬 순서를 정의하는 함수. 생략하면 배열은 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬됩니다. 반환 값 정렬한 배열. 원 배열이 정렬되는 것에 유의하세요. 복사본이 만들어지는 것이 아닙니다. 설명 compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니 코드 코드 포인트 순서로 문자열을 비교하여 정렬됩니다. 예..

JavaScript 2022.04.14

[JavaScript] 두 배열 합치기

배열을 합치는데 필요한 메서드 concat() unshift() spred operator ▶ Array.prototype.concat() 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다. 기존배열을 변경하지 않습니다. 추가된 새로운 배열을 반환합니다. 구문 array.concat([value1[, value2[, ...[, valueN]]]]) 매개변수 배열 또는 값 만약 value1 ~ valueN 인자를 생략하면 기존배열의 얕은 복사본을 반환. ▶ Array.prototype.unshift() unshift() 메서드는 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환합니다. 구문 arr.unshift([...elementN]) 매개변수 elementN배열 맨 앞..

JavaScript 2022.04.14

[JavaScript] object type(객체형) +예제

객체형(Object type) 필요한 데이터와 기능을 가지고 있다. ▶ 개념 Primitive type을 제외한 데이터 타입의 베이스 인스턴스. JavaScript의 거의 모든 객체는 Object의 파생 인스턴스다. 데이터를 읽고 쓰는 가장 기본적인 기능을 탑재하고 있다. ▶ 구성 Object는 {}로 생성한다. key-value 형식으로 데이터 유지. (key : value) web환경에서도 key-value 형식이다. ▶ 객체형의 선언 및 연산 객체 내부에는 Primitive type뿐만 아니라 객체형도 들어갈 수 있다. //object //{name: 'mouse', type: 'wireless', color: 'black', buttons: 6, scroll: true} //mouse //wire..

JavaScript 2022.04.12

[JavaScript] IIFE(즉시 실행 함수 표현식), strict mode(엄격 모드)

IIFE (즉시 실행 함수 표현식) "Immediately Invoked Function Expression"의 약어로 정의 되자마자 즉시 실행되는 함수다. 임시 객체를 이용하여 함수의 선언과 동시에 호출하는 기법 여러 개의 ▶ 충돌 회피 사용자 'A'와'B'가 pi를 다르게 정의하였을 때 즉시 호출로 해결할 수 있다. strict mode (엄격 모드) 문법 사용에 대한 규칙 강화. 일반적으로 즉시 호출에 use strict사용, 다른 코드 블록 간의 간섭 방지. strict mode를 사용했다고 해서 자신의 코드가 견고 해지는 것이 아니다. ▶ 형식 'use strict' ▶ 예시 엄격 모드 비사용 엄격 모드 사용 구버전의 호환성은 버려야 한다.

JavaScript 2022.04.12

[JavaScript] Arrow function Expression (화살표 함수)

화살표 함수 표현 (Arrow Function Expression) 전통적인 함수표현을 간편화한 대안이다. 전통적인 함수 표현을 간단하게 만든 sugar-code. 화살표함수는 해당 객체의 메소드가 아님. 문법적으로 틀린 표현이나 개발자들의 편의를 위해 개발된 함수. ▶ 특성 this나 super에 대한 바인딩이 없고, methods 로 사용될 수 없다. new.target키워드가 없다. 일반적으로 스코프를 지정할 때 사용하는 call, apply, bind methods를 이용할 수 없다. 생성자(Constructor)로 사용할 수 없다. yield를 화살표 함수 내부에서 사용할 수 없다. ▶ 형식 (param1, param2, …, paramN) => { statements } (param1, par..

JavaScript 2022.04.12

[JavaScript] Callback function(콜백 함수), forEach, map, filter

Callback 함수 함수의 레퍼런스 값을 파라미터로 전달하여 호출되는 함수. 자바스크립트의 콜백함수는 엄밀한 콜백 함수는 아님. 콜백 함수의 응용 ▶ forEach() 배열의 요소의 갯수 만큼 순회한다. 초기화 하지 않은 값은 반복 하지 않는다. const arraySparse = [1,3,,7] arraySparse.forEach(function(element){ console.log(element) }) // 1 // 3 // 7 예제 ※ forEach와 callback함수로 2단 4단을 출력하시오. ▶ map() 호출한 결과를 모아 새로운 배열을 반환한다. 만약 callback함수에서 리턴을 하지 않는다면 undefined 배열 생성. 비파괴적 함수. 예제 ※ [‘홍길동, ‘세종대왕’, ‘김구‘,..

JavaScript 2022.04.12

[JavaScript] type에 따른 bubble sort(버블 소트) 예제

※ 예제 number type과 object type을 입력하여 버블소트를 구하는 함수를 가변파라미터와 일반 파라미터를 활용하여 작성하시오. → 해법 unshift, Array.isArray 의 이해 [JavaScript] unshift, Array.isArray unshift Array.prototype.unshift() 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환합니다. 배열 형태의 객체 시작점에 주어진 값을 삽입합니다. 구문 arr.unshift([...elementN]) 예제 Array.i.. cruella-de-vil.tistory.com

JavaScript 2022.04.11
반응형