본문 바로가기

전체 글38

[프로그래머스] 가장 큰 수 JavaScript 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42746 풀이 function solution(numbers) { let answer = numbers.map(number => number.toString()) .sort((a, b) => (b + a) - (a + b)).join('') return answer[0] === '0' ? '0' : answer } map 함수로 numbers 배열의 모든 요소를 문자열로 바뀌준다. sort 함수로 배열을 내림차순으로 정렬한다. 이때 비교함수는 (a, b) => (b + a) - (a + b)으로 설정해야 한다. 비교함수의 반환값이 음수면 비교함수의 첫번째 인수가 우선 정렬되고 비교함수의 반환값이.. 2024. 2. 27.
Ajax와 JSON Ajax란? Ajax란 자바스크립트를 사용하여 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식을 말한다. 이전의 웹페이지: HTML을 서버로부터 전송받아 웹페이지 전체를 처음부터 다시 렌더링하는 방식으로 동작 Ajax 통신: 웹페이지의 변경에 필요한 데이터만 비동기 방식으로 전송받아 변경할 필요가 있는 부분만 한정적으로 렌더링 Ajax 통신의 장점 변경할 부분을 갱신하는 데 필요한 데이터만 서버로부터 전송받기 때문에 불필요한 데이터 통신이 발생하지 않는다. 화면이 순간적으로 깜박이는 현상이 발생하지 않는다. 클라이언트와 서버와의 통신이 비동기 방식으로 동작하기 때문에 서버에게 요청을 보낸 이후 블로킹이 발생하지 않는다. .. 2024. 2. 26.
실행 컨텍스트와 동기/비동기 처리 시작하기 전에 … 동기/비동기 처리를 이해하기 위해선 실행 컨텍스트에 대한 이해가 있어야 한다. 배웠던 걸 복습해보자! 실행 컨텍스트란 실행 컨텍스트는 소스 코드를 실행하는 데 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역이다. 식별자(변수, 함수, 클래스 등의 이름)를 등록하고 관리하는 스코프와 코드 실행 순서 관리를 구현한 메커니즘으로, 모든 코드는 실행 컨텍스트를 통해 실행되고 관리된다. 코드 실행 순서는 실행 컨텍스트 스택으로 관리한다. 실행 컨텍스트 스택 실행 컨텍스트는 스택 자료구조로 관리된다. 이를 실행 컨텍스트 스택이라고 부른다. 실행 컨텍스트 스택은 코드의 실행 순서를 관리한다. 다음 코드가 어떻게 평가되고 실행되는지 살펴보자. const x = 1; function f.. 2024. 2. 26.
[JavaScript] ES6 메서드와 화살표 함수 함수의 구분 ES6 이전의 모든 함수는 사용 목적에 따라 명확한 구분이 없었다. 호출 방식에 특별한 제약이 없고 생성자 함수로 호출되지 않아도 프로토타입 객체를 생성했다. 이는 실수를 유발한 가능성이 있고 성능에도 좋지 않기 때문에 ES6에서는 함수를 사용 목적에 따라 세 가지 종류로 구분한다. ES6 함수의 구분 constructor prototype super arguments 일반 함수 O O X O 메서드 X X O O 화살표 함수 X X X X 메서드 ES6 사양에서 메서드는 메서드 축약 표현으로 정의된 함수만을 의미한다. const obj = { x: 1, // foo는 메서드이다. foo() { return this.x; }, // bar는 일반 함수다. bar: function() { re.. 2024. 2. 22.