일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Async
- 제로초
- js
- 타입스크립트 올인원
- 손에 익히며 배우는 네트워크 첫걸음
- 2주 프로젝트
- 타입스크립트
- SQL 고득점 Kit
- 백준
- LeetCode
- codestates
- javascript
- python
- 알고리즘
- 코어 자바스크립트
- 4주 프로젝트
- 정재남
- 파이썬
- 타임어택
- 리액트
- 렛츠기릿 자바스크립트
- 회고
- 프로그래머스
- 리트코드
- til
- 코드스테이츠
- 토익
- 자바스크립트
- 리덕스
- programmers
- Today
- Total
목록javascript (8)
Jerry
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cPIC1u/btrZ5jtaXJx/xXkfkaGv1hp9mkz1otebL1/img.png)
var 호이스팅 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것 var 로 선언한 변수의 경우 호이스팅 시 undefined로 변수 초기화 var 키워드로 선언된 변수는 선언 단계와 초기화 단계가 한번에 이뤄진다 let과 const로 선언한 변수의 경우 호이스팅 시 초기화하지 않음 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 것 변수 정의 코드보다 사용 코드가 앞서 등장할 수 있음 함수 선언도 위와 동일 // #1 Case function catName(name) { console.log("제 고양이의 이름은 " + name + "입니다"); } catName("호랑이"); /* 결과: "제 고양이의 이름은 호랑이입니다" */ // #2 Case catName..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cyruMt/btrYrnW8wY7/AdLSb8O9ChZaUz0SlJSxe0/img.jpg)
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; } }
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/naf6V/btrYmxGP3Zh/Iq6ZgrE6YbFT4SJ10d9I0K/img.jpg)
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; }
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/WHEKh/btrqGTBuGkv/IzSTFHEkUjX2jEdkbcKCx0/img.jpg)
sort 메서드는 임의의 배열 내부의 요소를 '문자열의 유니코드 포인트'를 기준으로 정렬된 배열 형태로 반환합니다. 이번 기록을 남기게 된 계기는 알고리즘 문제를 푸는 도중 array.sort() 로 정렬을 사용했는데 통과가 안 되었다. 그 원인을 찾아보니, sort()가 필자가 원하는 *오름차순 정렬을 한다고 생각했지만 그렇지 않은 예외의 경우가 있었기 때문이다. 정리하면, 필자는 오름차순 정렬을 위해 array.sort()를 사용했지만, 이건 오름차순이 아니라 문자열 유니코드 포인트에 따른 정렬이었다. 아래 코드 스니펫에서 예시 #2와 예시 #3의 비교해보면 좀 더 이해가 수월할 것이다. // #1 const months = ['March', 'Jan', 'Feb', 'Dec']; months.sor..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c95KCs/btq58ZamE8E/pHKOYF1mlvR8N9leqeWIS0/img.jpg)
제목에서 느꼈을 수도 있는데, 필자는 1일 1 커밋 운동처럼 1일 1 JAVASCRIPT.INFO 정리 글을 적어보려고 한다. 공부한 내용을 적어보는 거라 글의 형식이 파괴될 수 있으며 전문성 또한 떨어질 수 있다. 하지만, 개인적으로 너무 욕심내지 않고 중요한 부분 위주로 이해가 쉽게 가도록 정리를 해보려고 한다. 그러니 너그럽게 봐주길 바란다. 자바스크립트란? 무엇일까? 필자는 이 제목을 보고 끌려서 글까지 적기로 생각을 했다. 개인적으로 자바스크립트는 '기존의 정적인 HTML 환경에서 동적인 기능을 추가하고 싶어서 생긴 언어가 자바스크립트다.'라고 정도로 알고 있었다. 아무래도 깊게 자바스크립트에 대해 알지 못하더라도 "자바스크립트가 무엇이죠?"라는 질문을 받았다고 생각을 해보니, 클릭이 저절로 된..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ciQ5Jl/btq3VhSwb7y/WVXxZl3QKZ0HwOvUgehvL0/img.png)
이번 시간은 promise(프라미스 / 프로미스)에 대해서 알아보는 시간을 가지겠다. JAVASCRIPT.INFO를 참고하여 정리를 해보았다! promise promise 객체는 다음과 같은 문법으로 만들 수 있다. let promise = new Promise(function(resolve, reject) { // executor (제작 코드, '가수') }); new Promise에 전달되는 함수는 executor(실행자, 실행 함수)라고 부른다. executor는 new Promise가 만들어질 때 자동으로 실행되며 인수로 resolve와 reject라는 자바스크립트 자체적으로 제공하는 콜백을 즉각적으로 반드시 호출해야 한다. resolve(value)는 에러 없이 성공적으로 일이 끝날 때, val..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/U6Gyn/btqMMGIwvsv/J0vDZqjPjsP3gz0vDTtSM0/img.png)
PoiemaWeb // URL Java, C++과 같은 클래스 기반 객체지향 프로그래밍 언어와 달리 자바스크립트는 프로토타입 기반 객체지향 프로그래밍 언어이다. 따라서 자바스크립트의 동작 원리를 이해하기 위해서는 프로토타입의 개념을 잘 이해하고 있어야 한다. 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있다. 그리고 이것은 마치 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메서드를 상속받아 사용할 수 있게 한다. 이러한 부모 객체를 Prototype 객체 또는 줄여서 Prototype이라 한다. 프로토타입 객체는 생성자 함수에 의해 생성된 각각의 객체 공유 프로퍼티를 제공하기 위해 사용한다. w3school // URL 모든 자바스크립트 객체는 프로토타입으로 부터 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/5xTJY/btqMdVM7eBo/9ASU5tQ0T1x25XFSudv3ak/img.png)
1. 객체 지향 프로그래밍이란? 라이브러리 특정 언어를 지칭하는 것이 아닌 프로그래밍의 철학 객체 지향 프로그래밍에서 모든 것은 self-sustainable 객체로써 그룹화됨 -> 재사용성 우리가 클래스라고 부르는 것(data model of blueprint)을 코드로 구현한 것 1-1. 그렇다면 클래스란 무엇인가? 클래스는 객체 생성을 위한 객체의 Blueprint이자 Idea 임 객체는 클래스의 인스턴스 클래스는 객체를 생성하는 constructor를 가지고 있다. 1-2. 객체지향 프로그래밍의 기본 개념 4가지 1. 캡슐화 : 캡슐화는 single 단위로 데이터를 wrapping up(뜻: 감싸다) 하는 것으로 정의된다. 이 메커니즘은 코드들을 묶거나 데이터를 조작할 수 있다. 또한, 바깥에서의..