티스토리

Beyond Code
검색하기

블로그 홈

Beyond Code

beyondcode.tistory.com/m

This is my dev journey.

구독자
0
방명록 방문하기

주요 글 목록

  • [Revisited JS] 빌트인 객체에 대해 이해해보자 21.1 자바스크립트 객체의 분류 표준 빌트인 객체, 호스트 객체(web API, Node.js API), 사용자 정의 객체 21.2 표준 빌트인 객체 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects Standard built-in objects - JavaScript | MDN This chapter documents all of JavaScript's standard, built-in objects, including their methods and properties. developer.mozilla.org Math, Reflect, JSON 빼고 다 생성자 함수 객체 표준 빌트인 객체가 생성한 인스턴스.. 공감수 0 댓글수 0 2023. 9. 19.
  • [Revisited JS] strict mode를 이해해보자 20.1 strict mode란? 할당문으로 변수를 생성함 이때 전역 객체의 x 프로퍼티는 마치 전역 변수처럼 사용할 수 있다. 암묵적 전역 자바스크립트 문법을 엄격히 적용 20.2 strict mode의 적용 use strict; 20.3 전역에 strict mode를 적용하는 것은 피하자 20.4 함수 단위로 strict mode를 적용하는 것도 피하자 strict mode는 즉시 실행 함수로 감싼 스크립트 단위로 적용하는 것이 바람직하다. 20.5 strict mode가 발생시키는 에러 20.5.1 암묵적 전역 20.5.2 변수, 함수, 매개변수의 삭제 20.5.3 매개변수 이름의 중복 20.5.4 with 문의 사용 with 문은 전달된 객체를 스코프 체인에 추가한다. with문은 사용하지 않는 .. 공감수 0 댓글수 0 2023. 9. 14.
  • [Revisited JS] 프로토타입을 파훼해보자 프로토타입 기반 객체지향 프로그래밍 부모유전자에 기록이 되어 있기 때문에 쓸 수 있음. 19.1 객체 지향 프로그래밍 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조를 객체라 하며, 객체지향 프로그래밍은 독립적인 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임이다. 객체가 뭔지 알아야 프로토타입을 설명할 수 있기 때문 19.2 상속과 프로토타입 코드 재사용 생성자 함수는 동일한 프로퍼티 구조를 갖는 객체를 여러 개 생성할 때 유용하다. getArea 메서드를 중복 생성 모든 인스턴스가 중복 소유하는 문제가 생김 프로토타입에 기록하여 부모만 갖게 함 19.3 프로토타입 객체 프로토타입 = 프로토타입 객체 객체 간 상속을 구현하기 위해 사용된다. [[Prototype]]이라는 내.. 공감수 0 댓글수 0 2023. 9. 12.
  • [Revisited JS] 비동기 완벽 이해를 꿈꿔보자 https://www.youtube.com/watch?v=zi-IG6VHBh8&ab_channel=%EA%B0%80%EC%9E%A5%EC%89%AC%EC%9A%B4%EC%9B%B9%EA%B0%9C%EB%B0%9CwithBoaz https://medium.com/sessionstack-blog/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways-to-better-coding-with-2f077c4438b5 공감수 0 댓글수 0 2023. 9. 10.
  • [Revisit JS] 프로퍼티 어트리뷰트를 이해해보자 프로퍼티는 객체의 그 프로퍼티가 맞는 것 같고 그 속성들을 어트리뷰트라고 하는 것 같다. 16.1 내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드를 선행적으로 이해해야 한다. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. ECMAScript 사양에 등장하는 이중 대괄호 ([[...]])로 감싼 이름들이 내부 슬롯과 내부 메서드다. > 다시 보니 자바스크립트 엔진에서 사용한다는 게 중요한 것 같다. 가장 큰 내부 슬롯이 [[Prototype]] 접근할 수 없다. 하지만 예외가 있다. [[Prototype]] __proto__를 통해 간접적으로 접근할 수 있다. 16.2 프로퍼티 어트리뷰트와 프로퍼티 디스크.. 공감수 0 댓글수 0 2023. 9. 7.
  • [Revisit JS] 클로저 이해해보기 상위 스코프를 [[environment]]에 상위 스코프의 참조를 저장한다. 외부 함수보다 중첩 함수가 더 오래 유지되눈 경우 중첩 함수는 이미 생명 주기가 종료한 외부 함수의 변수를 참조할 수 있다. 이러한 중첩 함수를 클로저라고 부른다. 클로저는 중첩 함수가 상위 스코프의 식별자를 참조하고 있고 중첩 함수가 외부 함수보다 더 오래 유지되는 경우에 한정하는 것이 일반적이다. 상위 스코프에 2개 이상의 변수 예를 들어, x, y가 있으면 모던 브라우저는 최적화를 통해 참조하고 있는 변수만 기억한다. 참조된 변수를 자유 변수라고 부른다. 클로저란 함수가 자유 변수에 대해 닫혀있다라는 의미다. 이를 좀 더 알기 쉽게 의역하자면 "자유 변수에 묶여있는 함수"라고 할 수 있다. 클로저는 자바스크립트의 강력한 기.. 공감수 0 댓글수 0 2023. 9. 6.
  • [Revisit JS] 자바스크립트 엔진은 어떻게 인터프리터의 단점을 해결했는가? 가장 쉽게는 이렇게 답을 얻었다. 원초에 질문은 사실 이 것은 아니었다. 1. 컴파일러 언어와 인터프리터 언어의 차이가 뭘까? 차이는 기본적으로 언어를 해석하는 프로세스가 다르다는 점이다. 컴파일 언어는 컴파일하는 과정을 거쳐 코드를 실행한다. 컴파일이란 아래와 같다. 단순하게 우리의 소스 코드를 컴퓨터가 읽을 수 있는 코드로 변환하는 것을 컴파일이라고한다. 인터프리터 언어의 경우 컴파일처럼 기계어로 번역하는 과정을 따로 갖지 않고 한 줄씩 읽어가면서 번역하고 실행을 시킨다. 여기서 단점은 매번 실행시 번역을 하다보니 코드 실행 속도가 느릴 수 밖에 없다. 컴파일의 경우 컴파일 과정을 거치고 실행 파일이 생성되어 다음 실행 시 빠르게 동작할 수 있다. 코드를 수정하면 그 부분만 재컴파일하기 때문에 별 문.. 공감수 0 댓글수 0 2023. 9. 5.
  • [오늘의 이슈] 단순 할당으로 변수 생성이 가능하다는 걸 이제 알았다. 나동빈좌의 강의를 듣다가 아래와 같은 예시를 만났다. d = new Array(100).fill(0); function fibo(x) { if (x== 1 || x == 2 ) { return 1; } if(d[x] != 0 ) { return d[x] } d[x] = fibo(x - 1) + fibo(x-2) return d[x] } console.log(fibo(10)) d에 바로 할당을 해주었는데 선언문 없이 코드가 돌아간다는 점이 매우 이상하게 느껴졌다. 놀랍게도 코드가 돌아간다. 그리고 d는 전역 객체인 window에 바인딩 되어 있다. 정답은 아래와 같다. https://ko.javascript.info/variables 변수와 할당에 대해서는 기본 내용이라 그냥 넘어가곤 했는데 이런 사실을 .. 공감수 0 댓글수 0 2023. 8. 11.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.