컴퓨터 공부 217

Javascript 중급 - 3) undefined vs null, 얕은 비교 vs 깊은 비교, 얕은 복사 vs 깊은 복사, 함수 표현식 vs 함수 선언문

※ 공통점 둘 다 원시 자료형(primitive) 이다. undefined 타입은 undefined 값이 유일하며, null 타입은 null 값이 유일하다. (단, typeof null 을 찍어보면 object 라고 나오는데, 처음에 만들 때 잘못해서 이걸 고치면 너무나 많은 오류가 나와서 그대로 나뒀다고 한다. 그래서, 타입스크립트에서는 strict 키워드를 통해 찍어보면 object가 아니라고 한다.) 1) undefined - undefined 는 '아무 값도 할당받지 않은 상태'를 의미한다. - var 키워드로 선언한 변수는 호이스팅으로 올라간 후 undefined로 초기화된다. 그 이후 인터프리터가 해당 소스코드에 도달했을 때 할당한 값이 들어가게 된다...

Javascript 중급 - 2) closure, 구조 분해 할당, map, filter, reduce, 전개연산자

- 클로저(Closure)는 함수와 그 함수가 선언된 어휘적 환경(Lexical Environment)의 조합을 말한다. 다시 말해서, 클로저는 내부 함수에서 외부 함수의 스코프(Scope)에 접근할 수 있게 해주는 기능이다. 자바스크립트에서는 함수가 생성될 때마다, 즉 함수 생성 시에 클로저가 만들어진다. 다른 함수 내부에 정의된 함수(innerFunction)가 있는 경우 외부 함수(outerFunction)가 실행을 완료하고 해당 변수가 해당 함수 외부에서 더 이상 엑세스할 수 없는 경우에도 해당 내부 함수는 외부 함수의 변수 및 범위에 액세스할 수 있다. ... 무슨말이죠 이게? ... 예를 들어, 외부 함수에서 변수를 선언하고, 내부 함수에서 이 변수에 접근할 수 있게 해..

Javascript 중급 - 1) this, bind, call, apply, 동기/비동기, call stack, call back

- this 키워드는 여러상황에서 각기 다른 것들을 참조한다. 1) 메소드에서 this 를 사용하면, 해당 객체를 가리킨다(참조한다) // // Method => object const audio = { title: 'ALLU', play() { console.log('play this', this); } } audio.play(); audio.stop = function () { console.log('stop this', this) } audio.stop(); 2) 함수에서 this를 사용하면, window 객체를 가리킨다. // Function => Window Object function playAudio() { console.log(this); } playAudio();..

[리트코드/leetcode/python] 1266. Minimum Time Visiting All Points

오늘은 비교적 쉬운 문제를 가져와봤습니다. 하지만, 분명 배울점은 있는 문제이기에 소개해드립니다. 해당 문제는 2D 평면상의 여러 점들이 주어졌을 때, 모든 점들을 순서대로 방문하는데 필요한 최소 시간을 계산하는 것이 목표입니다. 각 이동에서는 상하좌우 또는 대각선으로 한 칸씩 이동할 수 있습니다. 이 문제에서 저는 처음에 유클리드 거리를 사용했습니다. 한 번 이동할 때마다 1초가 걸린다고 했으니, 그냥 거리계산으로 접근했습니다. 두 점이 같은 기울기에 있다면, 대각선으로 가는 것이 가장 최단이겠고, 그렇지 않다면, 유클리드 거리를 사용하는 것인 줄 알았었죠. 그래서, 처음 작성했던 코드는 아래와 같습니다. class Solution(object): def minTimeToVisitAllPoints(se..

for문에 else문이 딸랑?

문득 알고리즘 문제를 풀다가 해당 코드가 실행돼서 찾아봤다. answer = 0 for w in words: for c in w: if w.count(c) > chars.count(c): break else: answer += len(w) return answer for문 2개로 구성되어 있는 이중 for 문이다. 안쪽 for 문에서 break를 만난다면 안쪽 for문을 다 순회하지 않고 else 문 지점으로 오게 될텐데, else 문이 딸랑 나와도 되는지 의문이었다. 평소에는 저렇게 코드를 작성하지 않고 flag 변수를 따로 설정해서 아래와 같이 코드를 짜주곤 했다. answer = 0 for w in words: flag = True for c in w: if w.count(c) > chars.cou..

반응형