일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- LeetCode
- javascript
- SQL 고득점 Kit
- 리덕스
- 타임어택
- 회고
- 프로그래머스
- python
- 리트코드
- 자바스크립트
- js
- HTTP
- 코어 자바스크립트
- 코드스테이츠
- 백준
- 타입스크립트
- codestates
- 토익
- til
- 4주 프로젝트
- 알고리즘
- 제로초
- 타입스크립트 올인원
- 렛츠기릿 자바스크립트
- 파이썬
- 손에 익히며 배우는 네트워크 첫걸음
- programmers
- 정재남
- 2주 프로젝트
- 리액트
- Today
- Total
목록javascript (11)
Jerry

HTML을 렌더링하는 동안 JavaScript가 문단 2 - 이 경우 - defer: HTML 파싱이 끝난 후, 순서대로 실행 → 항상 script1.js → script2.js. - async: 다운로드가 끝난 순서대로 실행 → script2.js가 먼저 실행될 수도 있음. 속성HTML 파싱 중 JS 다운로드HTML 파싱 중단 여부JS 실행 시점실행 순서 보장 없음OO (동기 실행)파싱 중단 후 즉시OasyncOX다운로드 완료 즉시XdeferOXHTML 파싱 완료 후O 렌더링 차단을 피하려면 어떻게 해야 하나요? 렌더링 차단(Render-blocking)은 HTML 파싱 중 JS나 CSS의 로딩/실행이 파싱을 멈추는 현상입니다. 이를 피하기 위해 JS와 CSS의 로딩을 비동기..

JavaScript는 싱글 스레드(Single-threaded) 기반의 논 블로킹(Non-blocking) 언어로, 이벤트 기반(Event-driven), 비동기 처리(Asynchronous processing), 동시성(Concurrency)을 지원하는 동적 프로그래밍 언어 동적 프로그래밍 언어(Dynamic Programming Language)는 실행 시간(runtime)에 타입을 결정하거나, 변수나 객체의 속성 등을 변경할 수 있는 프로그래밍 언어를 말합니다. 1. 싱글 스레드 기반(Singled-threaded)- JS는 기본적으로 하나의 Call Stack을 사용하여 코드를 실행하는 싱글 스레드 언어- 이 말은 한 번에 하나의 작업만 실행할 수 있음을 의미- CPU를 활용하는 연산이 길어..

this는 실행 컨텍스트(Excution Context)에 따라 달라지는 값즉, 함수 호출 방법에 따라 달라짐 this의 결정 방식 (4가지 규칙 + 1)1. 기본 호출 규칙 (전역 / 일반 함수 호출)2. 객체 메서드 호출3. 생성자 함수 호출 (new 키워드)4. 명시적 바인드 (call, apply, bind)5. (추가) 화살표 함수 (Lexical this) Lexical이란"어휘적인", "코드가 작성된 위치에 따라 결정되는" 이라는 뜻즉, Lexical this는 this가 코드가 작성된 위치(상위 스코프)에 의해 결정된다는 의미 1. 기본 호출 규칙 (전역 / 일반 함수 호출)- this가 window or undefined- 일반 함수에서 this를 호출하면 전역 객..

var 호이스팅 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것 var 로 선언한 변수의 경우 호이스팅 시 undefined로 변수 초기화 var 키워드로 선언된 변수는 선언 단계와 초기화 단계가 한번에 이뤄진다 let과 const로 선언한 변수의 경우 호이스팅 시 초기화하지 않음 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 것 변수 정의 코드보다 사용 코드가 앞서 등장할 수 있음 함수 선언도 위와 동일 // #1 Case function catName(name) { console.log("제 고양이의 이름은 " + name + "입니다"); } catName("호랑이"); /* 결과: "제 고양이의 이름은 호랑이입니다" */ // #2 Case catName..

function solution(common) { let answer = 0; let len = common.length; let diff = common[1] - common[0]; let divide = common[1] / common[0]; if (common[1] - common[0] === common[2] - common[1]) { // 등차수열 return common[len - 1] + diff; } else { // 등비수열 // if (common[1] - common[0] !== common[2] - common[1]) { return common[len - 1] * divide; // return common[len - 1] * divide; } }

function solution(A, B) { let cnt = 0; if (A === B) return 0; let temp = A; for (let x = 0; x < A.length; x++) { if (temp === B) { cnt = x; break; } temp = temp[A.length - 1] + temp.slice(0, A.length - 1); } return !!cnt ? cnt : -1; }

sort 메서드는 임의의 배열 내부의 요소를 '문자열의 유니코드 포인트'를 기준으로 정렬된 배열 형태로 반환합니다. 이번 기록을 남기게 된 계기는 알고리즘 문제를 푸는 도중 array.sort() 로 정렬을 사용했는데 통과가 안 되었다. 그 원인을 찾아보니, sort()가 필자가 원하는 *오름차순 정렬을 한다고 생각했지만 그렇지 않은 예외의 경우가 있었기 때문이다. 정리하면, 필자는 오름차순 정렬을 위해 array.sort()를 사용했지만, 이건 오름차순이 아니라 문자열 유니코드 포인트에 따른 정렬이었다. 아래 코드 스니펫에서 예시 #2와 예시 #3의 비교해보면 좀 더 이해가 수월할 것이다. // #1 const months = ['March', 'Jan', 'Feb', 'Dec']; months.sor..

제목에서 느꼈을 수도 있는데, 필자는 1일 1 커밋 운동처럼 1일 1 JAVASCRIPT.INFO 정리 글을 적어보려고 한다. 공부한 내용을 적어보는 거라 글의 형식이 파괴될 수 있으며 전문성 또한 떨어질 수 있다. 하지만, 개인적으로 너무 욕심내지 않고 중요한 부분 위주로 이해가 쉽게 가도록 정리를 해보려고 한다. 그러니 너그럽게 봐주길 바란다. 자바스크립트란? 무엇일까? 필자는 이 제목을 보고 끌려서 글까지 적기로 생각을 했다. 개인적으로 자바스크립트는 '기존의 정적인 HTML 환경에서 동적인 기능을 추가하고 싶어서 생긴 언어가 자바스크립트다.'라고 정도로 알고 있었다. 아무래도 깊게 자바스크립트에 대해 알지 못하더라도 "자바스크립트가 무엇이죠?"라는 질문을 받았다고 생각을 해보니, 클릭이 저절로 된..