전체 글

전체 글

    자바스크립트 고차 함수(higher-order function)란?

    자바스크립트에서 고차 함수란 (1) 함수를 아규먼트로 받거나 (2) 함수를 결과로 리턴하는 함수다. (1) 함수를 아규먼트로 받는 고차 함수의 예 document.addEventListener("click", greeting); function greeting() { return alert("Hello, world!") } (2) 함수를 결과로 리턴하는 고차 함수의 예 function creatMultiplier(multiplier) { return function(x) { return x * multiplier } } let doubleMe = creatMultiplier(2); let tripleMe = creatMultiplier(3); let quadrupleMe = creatMultiplier(..


    [JavaScript] ④ 자바스크립트 객체란 무엇일까?

    자바스크립트는 객체 기반 언어다. 자바스크립트는 객체 기반 프로그래밍 언어이며, 원시 값을 제외한 모든 값은 객체다. 즉, 함수, 배열, 정규 표현식 등이 모두 객체다. 객체는 프로퍼티(property)로 구성되며, 프로퍼티는 키(key)와 값(value)로 구성된다. 프로퍼티의 값이 함수일 경우 이를 메소드(method)라 한다. 객체의 의해 비유를 통해 우선 객체의 개념을 이해해보자. 우리는 실생활에서 객체의 예시를 살펴볼 수 있다. 집에서 키우는 고양이, 사용 중인 키보드, 스마트폰 등이 모두 객체다. 이러한 객체들은 상태(state)를 갖거나 행동(behavior)을 한다. 예를 들어, 고양이의 경우 이름, 눈동자 색, 종, 꼬리 모양 등의 상태와 더불어 꾹꾹이, 뛰어 오르기, 잠자기 등의 행동을..


    자바스크립트 스코프란? 글로벌, 로컬, 렉시컬 스코프 뜻

    안녕하세요. 휘입니다. 오늘은 자바스크립트 스코프에 대해 정리해보려고 합니다. 자바스크립트에서는 변수나 상수, 아규먼트 등이 생성될 때 일종의 접근 범위인 스코프(scope)가 정해지는데요. 스코프에는 글로벌 스코프(global scope)와 로컬 스코프(local scope)가 존재하며, 자바스크립트는 렉시컬 스코프(lexical scope) 방식을 따릅니다. 과연, 어떤 의미일까요? 글로벌 스코프란? 먼저, 글로벌 스코프입니다. 다음 예시에서 myName 변수는 글로벌 스코프를 갖는 전역 변수(global variable)로 선언되었는데요. 글로벌 스코프는 함수 바깥에서도 이를 참조할 수 있게 합니다. var myName = "Jeong" function callingName(){ console.lo..


    자바스크립트 do while 반복문

    자바스크립트 반복문: do while do while 반복문은 while 반복문과 무척 유사하다. 그러나 차이점이 있다면 조건을 만족하든 하지않든, 블록 안의 코드가 한 번은 실행된다는 것이다. 즉, 조건을 확인하기 전 블록 코드를 실행하며, 해당 코드가 false가 되기 전까지 while 반복문을 실행한다.


    자바스크립트 조건문 if, else, else if 정리

    if 구문 if문은 조건문 중 가장 간단한 형태의 것으로, 이를 사용해 우리는 특정 조건이 기준에 부합하는지를 확인할 수 있다. 해당 기준에 부합할 경우(true) 다음 명령문으로 넘어가며, 부합하지 않을 경우(false) 넘어가지 않는다. if문은 크게 두 가지로 구성되는데, 하나는 조건(condition)이고 다른 하나는 명령문(statement)이다. 조건은 true, false 이거나 논리 표현, 비교 표현 등일 수 있다. if-else 구문 if-else 구문은 조건이 true일 경우에는 if 구문을 실행하고, false일 경우에는 else 구문을 실행한다. else if 구문 if-else 구문이 두 개의 블록만을 처리할 수 있는 반면 else if 구문은 여러 개의 조건문을 담을 수 있다.


    자바스크립트 할당 연산자

    할당 연산자(assignment operator)란 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당하는 것이다. 이름 단축 연산자 의미 할당 x = y x = y 덧셈 할당 x += y x = x + y 뺄셈 할당 x -= y x = x - y 곱셈 할당 x *= y x = x * y 나눗셈 할당 x /= y x = x / y 나머지 연산 할당 x %= y x = x % y 지수 연산 할당 x **= y x = x ** y 왼쪽 시프트 할당 x > y 부호없는 오른쪽 시프트 할당 x >>>= y x = x >>> y 비트 AND 할당 x &= y x = x & y 비트 XOR 할당 x ^= y x = x ^ y 비트 OR 할당 x |= y x = x | y


    파싱이란? 파싱의 뜻은 무엇일까? (번역)

    파싱(parsing: 구문 분석)은 하나의 프로그램을 런타임 환경(예를 들면, 브라우저 내 자바스크립트 엔진)이 실제로 실행할 수 있는 내부 포맷으로 분석하고 변환하는 것을 의미합니다. 즉, 파싱은 문서의 내용을 토큰(token)으로 분석하고, 문법적 의미와 구조를 반영한 파스 트리(parse tree)를 생성하는 과정입니다. 브라우저는 HTML을 DOM 트리로 파싱합니다. HTML 파싱에는 토큰화와 트리 구조가 포함됩니다. HTML 토큰에는 시작 태그와 마침 태그가 포함되며, 속성 이름과 값도 포함됩니다. 형식을 잘 갖춘 문서라면 파싱은 직관적이고 빠르게 진행될 것입니다. 파서(parser)는 토큰화된 입력값을 문서에 파싱하며, 다큐먼트 트리를 구성합니다. HTML 파서가 이미지와 같은 비블로킹 자료(..


    스쿠르테이프의 편지를 읽으며: 책 읽기와 글쓰기의 함정에 대하여

    C.S 루이스 를 읽으며 책 읽기와 글쓰기의 함정에 대해 생각해 본다. 읽기와 쓰기는 기본적으로 사고를 넓히고, 생각의 깊이를 더해가는 과정이지만, 여기엔 치명적인 함정이 존재한다. 바로, 삶을 머릿속에 가둬버리는 것이다. 그렇게 되면 삶은 정말로 머릿속에 존재하는 것이 되며, 인간은 점차 무기력해지고 만다. 앎과 실천은 사실 동떨어진 것이 아니다. 인간은 아는 만큼, 아는 대로 살아가는 존재다. 아는 만큼 살아가지 못한다면, 제대로 알지 못하고 있는 것이다. 가장 중요한 건 환자가 어떤 것도 행동으로 옮기지 못하게 막는 일이다. 이 새로운 회개에 대해 아무리 생각을 많이 한들 행동으로 옮기지 않는 한 전혀 문제 될 게 없어. 그 하찮은 짐승이 자기 머릿속에서만 뒹굴게 하거라. 글재주가 눈곱만큼이라도 있..