전체 글 278

Remove Non-alphanumeric Characters in Python

알고리즘 문제를 풀다가 "Non-alphanumeric Characters" 와 관련한 문제에 직면했다. 비단, 알고리즘 문제 뿐만 아니라 사용자 입력을 정리하거나 데이터를 추출하는 데에도 이러한 "Non-alphanumeric Characters"를 삭제하는 방법을 알면 유용할 것 같은 생각이 들었다. https://leetcode.com/problems/valid-palindrome/description/?envType=study-plan-v2&envId=top-interview-150 Valid Palindrome - LeetCode Can you solve this real interview question? Valid Palindrome - A phrase is a palindrome if, a..

Javascript 중급 - 4) IIFE (Immediately Invoked Function Expression), Intersection observer, 순수 함수, 커링, strict mode

즉시 실행 함수 표현(IIFE, immediately Invoked Function Expression) 은 정의되자마자 즉시 실행되는 Javascript Function을 말한다. 기본적인 형태는 아래와 같다. ( function () { // pass } )() 첫 번째() 소괄호 => 전역 선언 막고, IIFE 내부 안으로 다른 변수 접근 막는다. 두 번째() 소괄호 => 즉시 실행 함수를 생성하는 괄호, 이를 통해 자바스크립트 엔진은 함수를 즉시 해석 및 실행한다. [ IIFE의 주된 사용목적 ] IIFE를 사용하는 주된 이유는 변수를 전역(global scope)으로 선언하는 것을 피하기 위해서이다. 또한..

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();..

반응형