혜개바라
close
프로필 배경
프로필 로고

혜개바라

  • 분류 전체보기 (170)
    • 코테 준비 (46)
      • 알고리즘 (8)
      • [JS] 프로그래머스 (37)
      • [MYSQL] 프로그래머스 (1)
    • 언어 정리 (52)
      • JavaScript (52)
      • TypeScript (0)
    • 개발 공부 (26)
      • HTML (2)
      • CSS (2)
      • React-Next.js (6)
      • Vue (0)
      • Tanstack Query (1)
      • Webpack (4)
      • Github (2)
      • MYSQL (2)
      • 기타 (개발 공부) (7)
    • 프로젝트 (22)
      • Vanilla JS 문서편집기 (10)
      • 올해도 아좌좌 (5)
      • 개발괴발 (5)
      • 기타 (프로젝트) (2)
    • 회고 (18)
    • 블로그 관리 (0)
    • 기타 (4)
  • 홈
  • 코테 준비
  • 언어 정리
  • 개발 공부
  • 프로젝트
  • 회고
  • 태그
  • 방명록
  • github@suehdn

모던 자바스크립트 Deep Dive: 20장 strict mode

20장 strict mode아래의 예제의 결과를 한번 예상해보자.function foo(){ x = 10; }foo();console.log(x);//???우리는 foo 함수 내에서 선언하지 않은 변수 x에 10을 할당했다.x 변수를 찾아야만 x에 값을 할당할 수 있기 때문에 자바스크립트 엔진은 x 변수가 어디에서 선언되었는지 스코프 체인을 통해 검색하기 시작한다.먼저 foo 함수 내에서 x 변수의 선언을 검색 -> 검색 실패 -> 상위스코프(이 예제에선 전역)에서 검색 순으로 검색 과정이 진행되는데 마지막 과정에서 전역 스코프에 x가 선언되어 있지 않기 때문에 RefereneceError가 발생할 것 같지만 암묵적으로 x는 전역 객체에 동적 생성되어있으므로 검색에 성공한다.이러한 과정은 사실 오류를 발..

  • format_list_bulleted 언어 정리/JavaScript
  • · 2024. 8. 6.
  • textsms
모던 자바스크립트 Deep Dive: 19장 프로토타입

모던 자바스크립트 Deep Dive: 19장 프로토타입

자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.19장 프로토타입자바스크립트는 객체 기반의 프로그래밍 언어이며 자바스크립트를 이루고 있는 거의 모든것이 객체이다. (원시 타입을 제외한 함수, 배열, 정규 표현식등은 전부 객체이다.)C++이나 자바같은 클래스 기반 객체지향 프로그래밍 언어의 특징 클래스와 상속, 캡슐화를 위한 키워드 public,private,protected 등이 없어 객체지향 언어가 아니라고 오해하는 경우도 있지만,자바스크립트는 클래스 기반 객체지향 프로그래밍 언어보다 효율적이며 더 강력한 프로토타입 기반의 객체지향 프로그래밍 언어이다.JS는 ES6에서 클래스가 도입되었다. 하지민 ES6의 클래스도 기존 프로토타입 기반 객..

  • format_list_bulleted 언어 정리/JavaScript
  • · 2024. 8. 6.
  • textsms
모던 자바스크립트 Deep Dive: 18장 함수와 일급 객체

모던 자바스크립트 Deep Dive: 18장 함수와 일급 객체

18장 함수와 일급 객체18.1 일급 객체일급 객체란?1. 무명의 리터럴로 생성할 수 있다. 런타임에 생성 가능2. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다.3. 함수의 매개변수에 전달할 수 있다.4. 함수의 반환값으로 사용할 수 있다.함수는 위의 조건을 모두 만족하기 때문에 일급 객체이다.//1. 무명의 리터럴로 생성//2. 변수에 저장할 수 있다.const increase = function(num){ return ++num;};const decrease = function(num){ return --num;};//2. 객체에 저장할 수 있다. const predicates = { increase, decrease };//3. 함수의 매개변수에 전달할 수 있다.//4. 함수의 반환값으로..

  • format_list_bulleted 언어 정리/JavaScript
  • · 2024. 8. 6.
  • textsms

모던 자바스크립트 Deep Dive: 17장 생성자 함수에 의한 객체 생성

17장 생성자 함수에 의한 객체 생성10장 객체 리터럴에서 우리는 가장 일반적인 객체 생성 방식인 객체 리터럴에 의한 객체 생성 방식을 살펴봤었다.이번 장에선 여러가지 방식 중 생성자 함수를 사용해 객체를 생성하는 방식을 살펴볼것이다.객체 리터럴과 생성자 함수를 사용해 객체를 생성하는 방식들의 장단점을 살펴보자.17.1 Object 생성자 함수생성자 함수란 new 연산자와 함께 호출되어 인스턴스를 생성하는 함수를 말한다.new 연산자와 함께 Objcet 생성자 함수를 호출하며 객체를 생성해 반환한다.만약 new 연산자를 함께 호출하지 않으면 일반 함수로 동작함// 빈 객체 생성 const person = new Object();person.name = 'Ahn';person.sayHello = funct..

  • format_list_bulleted 언어 정리/JavaScript
  • · 2024. 8. 6.
  • textsms

모던 자바스크립트 Deep Dive: 16장 프로퍼티 어트리뷰트

16장 프로퍼티 어트리뷰트먼저 프로퍼티와 메소드를 모른다면 10장 객체 리터럴을 다시 공부하고 와주세요.16.1 내부 슬롯과 내부 메서드앞으로 살펴볼 프로퍼티 어트리뷰트를 이해하기 위해선 내부 슬롯과 내부 메서드의 개념을 먼저 알아야한다.내부 슬롯과 내부 메서드는ECMAScript 사양에 등장하는 이중 대괄호([[...]])로 감싼 이름들자바스크립트 엔진에서 실제로 동작은 하지만 개발자가 직접 접근할 수 없음 (외부로 공개된 객체의 프로퍼티가 아님)하지만 "일부" 내부 슬롯과 메서드에 한해 간접적으로 접근할 수 있는 수단을 제공하긴 한다.모든 객체는 [[Prototype]]라는 내부 슬롯을 갖는데 원칙적으로 접근할 수는 없지만 이 슬롯은 __proto__를 통해 간접적으로 접근 가능하다.const o =..

  • format_list_bulleted 언어 정리/JavaScript
  • · 2024. 8. 6.
  • textsms

모던 자바스크립트 Deep Dive: 15장 let, const 키워드와 블록 레벨 스코프

15장 let, const 키워드와 블록 레벨 스코프15.1 var 키워드로 선언한 변수의 문제점ES5까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는것var 키워드로 선언된 변수는 다음과 같은 특징이 있어 주의를 기울이지 않으면 심각한 문제를 발생시킴변수 중복 선언 허용var 키워드로 선언한 변수는 중복 선언이 가능만약 동일한 이름의 변수가 이미 선언되었음을 모르고 변수를 중복 선언하며 값까지 할당한다면 의도하지는 않았지만 먼저 선언된 변수값이 바뀌어 버리는 부작용 생김var x = 1;var y = 1;var x = 100; //초기화 문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는것처럼 동작var y; //초기화 문이 없는 변수 선언문은 무시console.l..

  • format_list_bulleted 언어 정리/JavaScript
  • · 2024. 8. 6.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 9
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (170)
    • 코테 준비 (46)
      • 알고리즘 (8)
      • [JS] 프로그래머스 (37)
      • [MYSQL] 프로그래머스 (1)
    • 언어 정리 (52)
      • JavaScript (52)
      • TypeScript (0)
    • 개발 공부 (26)
      • HTML (2)
      • CSS (2)
      • React-Next.js (6)
      • Vue (0)
      • Tanstack Query (1)
      • Webpack (4)
      • Github (2)
      • MYSQL (2)
      • 기타 (개발 공부) (7)
    • 프로젝트 (22)
      • Vanilla JS 문서편집기 (10)
      • 올해도 아좌좌 (5)
      • 개발괴발 (5)
      • 기타 (프로젝트) (2)
    • 회고 (18)
    • 블로그 관리 (0)
    • 기타 (4)
최근 글
인기 글
최근 댓글
태그
  • #회고
  • #프로젝트
  • #코딩테스트준비
  • #js
  • #JavaScript
  • #VanillaJS
  • #0단계
  • #2023
  • #프로그래머스
  • #js메서드
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바