일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 숫자를 별점으로
- 프로그래머스
- 알고리즘
- 항해99
- 중복카테고리
- 항해99솔직후기
- 중복선택
- 로딩 후 실행
- 동전 0
- greedy
- 서버 컴포넌트
- 항해99추천
- NextJS v13
- 탐욕알고리즘
- 항해99후기
- 배열 중복 제거
- server component
- 날씨 api
- react
- 자바스크립트
- 실전프로젝트
- db수정
- 부트캠프항해
- 카테고리필터
- 백준
- JavaScript
- 클라이언트 컴포넌트
- 배열 메소드
- jQuery
- 그리디
- Today
- Total
목록개발/Javascript (49)
공부 및 일상기록
다른 언어에서의 this와 자바스크립트의 this는 많이 다르다고 한다.하지만 나는 자바스크립트에서만 사용해봐서 사실 크게 체감하지는 못한다.다만.. 너무 어렵다고만 느껴왔던것 같아서 다시 한번 정리해 본다. ** 여기서 사용되는 변수, 함수, 클래스에 사용된 이름은 아무 의미가 없고, 변수명이 떠오르지 않아 사용한 것 뿐입니다.. 1. 브라우저 환경에서 this를 바로 호출해보기console.log(this) //Window 브라우저 환경에서 this를 호출하면 window객체가 보이게 될 것이다.그 이유는 자바스크립트에서 기본 컨텍스트가 전역 컨텍스트, 즉 전역 객체이기 때문이다.브라우저에서 전역객체는 window 객체이다. 2. 함수 안에 this를 넣고 호출해보기function simpleFunc..
스택이란 스택은 쌓는다는 의미로 데이터를 순서대로 쌓아올린 모습을 생각하면 된다. 흔히 LIFO (Last In First Out)라고 표현하며 말 그대로 제일 마지막에 입력한 데이터가 제일 먼저 꺼내진다. 자바스크립트의 Array 자바스크립트의 내장 자료구조 중 하나인 배열을 이용하면 스택을 매우 쉽게 구현할 수 있다. const arr: string[] = []; arr.push("a"); arr.push("b"); arr.push("c"); arr.push("d"); console.log(arr.pop()); // d console.log(arr.pop()); // c console.log(arr.pop()); // b console.log(arr.pop()); // a Array 메서드 중 pus..
parameter, argument 정의 parameter 파라미터는 매개변수로 함수에 넘겨줄 변수를 정의할 때 사용된다. argument argument는 인자로 함수가 호출될 때 넘기는 변수의 실제 값이다. 예시 const add = (a, b) => { return a + b; }; 위 함수는 매개변수 a,b를 사용하여 덧셈연산을 수행하여 리턴하는 함수이다. console.log(add(1, 2)); // 3 위 코드에서 add함수에 인자 1,2를 전달했다. 이는 매개변수 a에 인자 1을 전달했고, 매개변수 b에 인자 2를 전달하여 1+2=3을 연산한 것이다. 즉 매개변수(parameter)와 인자(argument)는 함수에서 사용되는 개념으로 매개변수는 변수이고, 인자는 각 변수에 할당 할 값이라..
호이스팅이란? 호이스팅이란 코드가 실행하기 전 변수선언/함수선언이 해당 스코프의 최상단으로 끌어올려진것 같은 현상을 말합니다. 호이스팅이 발생하는 이유는 자바스크립트 엔진은 코드를 실행하기전 실행컨텍스트가 생성되는데 이 실행컨텍스트는 코드를 원활하게 실행될 수 있도록 환경을 만들어주는 역할입니다. 실행컨텍스트 실행 컨텍스트는 생성단계와 실행단계 두가지로 나눠볼수있습니다. 생성단계 선언문만 실행해서 환경레코드에 기록하는 단계입니다. 실행단계 선언문 외 나머지 코드를 순차적으로 실행하는 단계입니다. 실행 컨텍스트 스택 const x = 1; function foo() { const y = 2; function bar() { const z = 3; console.log(x + y + z); } bar(); }..
한번 정리를 했던 내용이지만 다시한번 상기시키고 스토리식으로 재정리하여 보다 강력하게 뇌리에 박아두고 싶어서 다시 작성하게 되었다. 동기와 비동기 동기적인 코드 실행은 순차적으로 실행되며, 이전 작업이 끝나야만 다음 작업을 수행하게 된다. const arr = [1, 2, 3, 4, 5]; console.log("Start"); arr.forEach(function(num) { console.log(num); }); console.log("End"); 결과는 아래와 같이 순서대로 나온다! Start 1 2 3 4 5 End 반면 비동기적인 코드 실행은 순차적으로 실행되지 않으며 비동기 함수를 호출하면 해당 함수가 완료되지 않았어도 다음 작업을 수행할 수 있게 된다. console.log("Start");..
타입스크립트 설치 후 tsconfig.json파일이 없다면 직접 설정해 주어야 한다. root위치에 tsconfig.json 파일을 직접 만든다. 그리고 아래와 같이 코드를 기입한다. { "compilerOptions": { "target": "es5", "module": "commonjs", } } target은 타입스크립트 파일을 어떤 버전의 자바스크립트로 바꿔줄지 정하는 부분이다. es5로 설정하면 es5버전 자바스크립트로 컴파일 해준다. 최신버전 자바스크립트로 컴파일하기를 원하면 esnext를 입력하면 된다. module은 자바스크립트 파일간 import 문법을 구현할 때 어떤 문법을 쓸지 정하는 곳이다. commonjs는 require 문법이다. ex2015, esnext는 import 문법을 ..

콜스택과 메모리힙 이란? 자바스크립트는 콜스택과 메모리 힙 이라는 메모리 구조를 통해 데이터 및 코드 실행을 관리한다. 1. 콜스택(Call stack) 원시타입 데이터가 저장된다. 실행컨텍스트를 통해 변수 식별자 저장, 스코프체인 및 this 관리, 코드 실행 순서 관리 등을 수행한다. 2. 메모리힙(Memory heap) 참조타입 데이터가 저장된다. 콜스택과 메모리힙의 데이터 구조 1. 원시타입 데이터 (파란색 변수 a) 10이라는 값 자체는 원시타입이므로 콜스택에 저장된다. 변수 a에는 10이 저장된 콜스택 메모리의 주소값이 저장된다. 변수 식별자 a 자체는 콜스택 상의 실행컨텍스트의 렉시컬환경 이라는 곳에 저장된다. 2. 참조타입 데이터 (핑크색 변수 b, c, d) 배열, 객체, 함수 등은 참조..
ES6에서 도입된 클래스는 기존 프로토타입 기반 객체지향 프로그래밍보다 자바나 C#과 같은 클래스 기반 객체지향 프로그래밍에 익숙한 프로그래머가 더욱 빠르게 학습할 수 있도록 클래스 기반 객체지향 프로그래밍 언어와 매우 흡사한 새로운 객체 생성 메커니즘 이다. 클래스는 생성자함수와 매우 유사하게 동작하지만 다음과같은 차이점이 있다. 클래스를 new 연산자 없이 호출하면 에러가 발생한다. 하지만 생성자 함수를 new 연산자 없이 호출하면 일반 함수로서 호출된다. 클래스는 상속을 지원하는 extends와 super키워드를 제공한다. 하지만 생성자 함수는 extends와 super 키워드를 지원하지 않는다. 클래스는 호이스팅이 발생하지 않는 것처럼 동작한다. 하지만 함수 선언문으로 정의된 생성자 함수는 함수 ..