Tomato

JS

    JAVASCRIPT05

    JAVASCRIPT05

    해당 포스팅은 링크된 웹사이트를 보고 이해한 내용을 정리합니다.배열 고차 함수(Higher order function): 함수를 인자로 전달받거나 함수를 결과로 반환하는 함수: 인자로 받은 함수를 필요한 시점에 호출하거나 클로저를 생성해 반환* JS에서 함수는 `일급 객체` = 인자로 전달/반환 가능// 함수를 인자로 전달받고 함수를 반환하는 고차 함수function makeC(predicate) { let num = 0; return function() { num = predicate(num); return num; };}// 보조 함수function increase(n) { return ++n;}function decrease(n) { return --n;}// make..

    JAVASCRIPT의 배열은 배열이 아니다?

    JAVASCRIPT의 배열은 배열이 아니다?

    해당 포스팅은 연결된 링크를 보고 이해한 내용을 정리합니다.[자료구조] 배열: 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료 구조하나의 타입으로 통일, 서로 연속적으로 인접함 = 밀집 배열(dense array) 인덱스를 통해 단 한번의 연산으로 임의의 요소에 접근(임의 접근: random access), 시간 복잡도 O(1)= 효율, 고속 동작검색 대상 요소의 메모리 주소 = 배열의 시작 메모리 주소 + 인덱스 * 요소의 바이트 수ex) 위의 그림 기준- 인덱스가 0인 요소의 메모리 주소: 1000 + 0 * 8 = 1000- 인덱스가 3인 요소의 메모리 주소: 1000 + 3 * 8 = 1024 But, 정렬되지 않은 배열에서 특정한 값을 탐색하는 경우에는 모든 배열 요소를 처음부터 값..

    정규표현식(Regular Expression)

    정규표현식(Regular Expression)

    문자열에서 특정 내용을 찾거나 대체, 발췌할 때 사용ex) 회원가입 화면 - 사용자로부터 전화번호 입력 받을 때, 전화번호가 유효한 지 체크하는 경우 const tel = '0101253128&';// 정규 표현식 리터럴const myRegExp = /^[0-9]+$/;console.log(myRegExp.test(tel)); // false전화번호에 오타를 내는 경우가 더러 있기 때문에 제대로 된 전화번호를 입력하지 않은 경우를 체크하기 위해서는 이러한 정규표현식이 필요하다. 다만, 정규표현식은 주석이나 공백을 허용하지 않고 `여러 기호`를 혼합하여 사용하기 때문에 가독성이 좋지 않다는 단점이 있다. 정규표현식은 리터럴 표기법으로 생성 가능하고 위의 사진과 같이 표현할 수 있다.정규표현식을 사용하는 J..

    JAVASCRIPT04

    JAVASCRIPT04

    해당 포스팅은 링크된 웹사이트를 보고 이해한 내용을 정리합니다.Strict modefunction foo() { x = 10;}console.log(x); // ?위와 같은 예제에서 `foo`함수 스코프에 변수 x에 대한 선언이 없음 - `상위 스코프 검색` - `암묵적 전역 변수`* 이때, 암묵적 전역 변수는 오류를 발생시키는 원인이 될 가능성이 커 `var`, `let`, `const` 키워드를 사용해 변수를 선언하고 사용하는 게 좋음 개발자의 숙명인 오류를 줄이기 위해 잠재적 오류 발생이 어려운 환경을 만들어 개발하게 하는 `strict mode`가 ES5부터 추가됨JS 언어의 문법을 `엄격`하게 적용해 기존에 무시되던 오류를 발생시킬 가능성이 높거나 JS 엔진 최적화 작업에 문제를 일으킬 수 있..

    JAVASCRIPT03

    JAVASCRIPT03

    해당 포스팅은 링크된 웹사이트를 보고 이해한 내용을 정리합니다.객체: `키(key)`와 `값(value)`로 구성된 `프로퍼티(property)`들의 집합: `프로퍼티(property) + 메소드(method)`로 구성된 집합* 프로퍼티 값: JS에서 사용할 수 있는 모든 값 사용 가능 = 함수 사용 가능 => `메소드` 프로퍼티: 프로퍼티를 식별하기 위한 식별자인 프로퍼티 `키`프로퍼티 키: 빈 문자열을 포함하는 모든 문자열 or symbol 값프로퍼티 값: 모든 값* 이미 존재하는 프로퍼티 키를 중복 선언하면 나중에 선언한 프로퍼티가 먼저 선언한 프로퍼티를 덮어씀* 배열과 달리 객체는 순서 보장 X 객체 생성 방법- `클래스 기반 객체 지향 언어` : 클래스 사전 정의, 필요한 시점에 `new`연산자..

    JAVASCRIPT02

    JAVASCRIPT02

    해당 포스팅은 링크된 웹사이트를 보고 이해한 내용을 정리합니다.변수(Variable)변수(Variable)란, 메모리 주소(Memory Address)에 접근하기 위해 사람이 이해할 수 있는 언어로 지정한 식별자(Identifier) 쉽게 말해, 메모리 상의 주소지를 의미해요!인사이드 아웃처럼 컴퓨터 내부에도 컴퓨터를 이루는 구성들 간의 작은 세상이 존재해요!인간의 주소지처럼, 컴퓨터 내부의 메모리 상의 주소지도 존재해요.그래야 어느 집에 누가 사는지 알 수 있으니까요. 변수에 들어가서 사는 친구의 이름이 값(value)이고 이를 저장해두어요. 우리 주민센터에서 하는 일이랑 같아요.거주지에 거주자를 저장해두잖아요. 세대주는 누구고, 가구원은 누가 있는지 같은 것들이요.그리고 저장된 값을 참조하기 위해 사..