본문 바로가기

분류 전체보기

(185)
JAVASCRIPT ) 모듈 모듈이란 애플리케이션을 구성하는 개별적 요소( class )로서 재사용 가능한 코드 조각(파일로 분리)을 말한다.모듈은 세부 사항을 캡슐화하고 공개가 필요한 API만을 외부에 노출한다. 일반적으로 모듈은 파일 단위로 분리되어 있으며 애플리케이션은 필요에 따라 명시적으로 모듈을 로드하여( import ) 재사용한다. 그냥 컴퍼넌화해서 사용하면 파일간에 변수명이 겹쳐 오류가 날 수 있다.모듈화해서 사용하면 모듈안에서 사용한 변수는 더이상 전역변수가 아니며 window 객체의 프로퍼티도 아니다.모듈안에서만 사용되는 변수이다.    export로 내보내고 import로 받기import안에 그냥 써도 되는데 이름을 바꿔 저장하고싶을때는 as를 사용한다. const pi = Math.PI;function squar..
JAVASCRIPT ) canvas에 방정식 그래프 그리기 const canvas = document.getElementById('canvas'); const pen = canvas.getContext('2d'); const canvasWidth = canvas.getAttribute('width'); const canvasHeight = canvas.getAttribute('height'); const scaleFactorX = 100; const scaleFactorY = 10; const factorWidth = canvasWidth / scaleFactorX; const factorHeight = canvasHeight / scaleFactorY; cons..
JAVASCRIPT ) 객체 delete 객체에서 delete는 요소를 삭제하는것이 아니다.값을 초기화 하는것이다.아래의 사진처럼 공간이 살아있다.
JAVASCRIPT ) canvas로 데이터 시각화 좌표(0,0)위치바꾸기   예제   예제) 막대그래프 그리기   예제) 스케일팩터 설정하여 단위 수정하기   예제) 눈금 그리기   그래프 그리기    y축 값 2의 x승으로     점으로 그래프
JAVASCRIPT ) Double Linked List Double Linked List는 양방향 탐색이 가능한 구조이다.   class DoubleLinkedList { constructor(id, value){ this.id = id; this.value = value; this._prevLink = null; this._nextLink = null; } get prevLink(){return this._prevLink;} set prevLink(prevLinkV){this._prevLink = prevLinkV;} get nextLink(){return this._nextLink;} set nextLink(nextLinkV){this._nextLink = nextLinkV..
JAVASCRIPT ) singly Linked List 배열의 길이가 5만개라고 가정해보자만약 맨 첫번째 배열값을 삭제하면 나머지 4만9천9백9십9개가 앞으로 한칸씩 자리를 이동하게될것이고그러면 엄청난 부하가 생길것이다.따라서 우리가 알고있는 shift()같은 것은 실제로 대규모 데이터를 다루기엔 문제가 있다. 이를 해결하기위해 singly Linked List 자료구조형을 이용한다.데이터에 다음 데이터를 연결시켜주면 중간에 데이터가 삭제되더라도 데이터의 이동이 일어나지않는다. 이 구조는 단방향 탐색만 가능하다.A 다음이 B라는건 알 수 있지만 B 이전이 A라는건 알 수 없다.  class singleLikedList{ constructor(id){ this.id = id; this._value = null; thi..
JAVASCRIPT ) map() 배열을 순회하며 각 요소에 대하여 인자로 주어진 콜백 함수의 반환값으로 새로운 배열을 생성하여 반환한다. 이때 원본 배열은 변경되지 않는다.-> 비파괴함수forEach 메소드는 배열을 순회하며 요소 값을 참조하여 무언가를 하기 위한 함수이며 map 메소드는 배열을 순회하며 요소 값을 다른 값으로 맵핑하기 위한 함수이다.물론 아래의 코드는 for문 forEach문 map문 전부 다 사용할 수는 있다. 하지만 역할에 따라서 가급적 나눠서 사용하라. const numbers = [1, 4, 9];// 배열을 순회하며 각 요소에 대하여 인자로 주어진 콜백함수를 실행const roots = numbers.map(function (item) { // 반환값이 새로운 배열의 요소가 된다. 반환값이 없으면 새로운 배..
JAVASCRIPT ) sort() sort()는 문자열 기준 오름차순 정렬이다.따라서 숫자를 그냥 sort()하면 실제 오름차순 정렬이 안된다.따라서 아래의 Quick Sort 방식을 사용하면 오름차순, 내림차순을 할 수 있다. 암기할것 숫자 오름차순const points = [40, 100, 1, 5, 2, 25, 10];// 숫자 배열 오름차순 정렬// 비교 함수의 반환값이 0보다 작은 경우, a를 우선하여 정렬한다.points.sort(function (a, b) { return a - b; });// ES6 화살표 함수// points.sort((a, b) => a - b);console.log(points); // [ 1, 2, 5, 10, 25, 40, 100 ] 숫자 내림차순const points = [40, 100, 1, ..