js 문법
[YOU DON'T KNOW JS 정리] THIS (1)
[YOU DON'T KNOW JS 정리] THIS (1)
2021.05.08[YOU DON'T KNOW JS 정리] THIS (1) 해당 포스팅은 카일 심슨의 you don't know js - this와 객체 프로토타입, 비동기와 성능 편 중 This 내용을 정리한 포스팅 입니다. 자바스크립트에서 가장 헷갈리는 개념 중 하나가 this 키워드이다. this는 모든 함수 scope 내에 자동으로 설정되는 특수한 식별자이다. 경험이 많은 js개발자도 this가 무엇을 가리키는지 정확히 파악하는건 힘든일이니. 모른다고 부끄러워 하지말고 정확하게 공부해보자. 1.1 this 가 필요한 이유 일단 this가 "무엇을 가르키는지" 보다 "왜" 필요한 지부터 살펴보자. ⇒ this 의 유용함과 필요성을 먼저 파악해보자. identify() { return this.name.toUpperC..
[JS] arguments 객체 그리고 유사배열 객체
[JS] arguments 객체 그리고 유사배열 객체
2021.05.05[JS] arguments 객체 그리고 유사배열 객체 arguments 객체란? 자바스크립트에서 함수를 호출 할 때, 함수에서 인자를 받기로 정해둔 형태로 인자를 넘기지 않아도 에러를 발생시키지 않는다. function sum(x, y) { console.log(x, y); return x + y; } sum(); // undefined undefined sum(1); // 1 undefined sum(1, 2); // 1 2 sum(1, 2, 3); // 1 2 sum(1, 2, 3, 4); // 1 2 1. 필요 인자 보다 적은 수의 인자가 전달되었을 때 : sum(), sum(1) ⇒ 값이 주어지지 않은 인자에는 undefined 가 할당된다. 2. 필요 인자 보다 많은 인자가 전달되었을 때 : s..
[JS] 문법정리 > 확실한 프로토타입 체이닝 정리
[JS] 문법정리 > 확실한 프로토타입 체이닝 정리
2020.12.29[JS] 문법정리 > 확실한 프로토타입 체이닝 정리 '자바스크립트'는 기존 C++ 이나 자바 같은 객체지향 프로그래밍 언어와는 다른 프로토타입 기반의 객체지향 프로그래밍을 지원한다. 즉, 프로토타입(prototype) 에 대해 잘 이해하고 있어야, 자바스크립트의 동작 과정을 제대로 이해할 수 있다. 이번 포스팅의 결론이자 규칙을 먼저 기억하자. 📌규칙 JS에서 "모든 객체" 는 자신을 생성한 생성자 함수의 prototype 프로퍼티가 가리키는 객체를 자신의 프로토타입 객체(부모 객체)로 취급한다. 예제 function Factory(name) { this.name = name; } // box 객체 생성 var box = new Factory('box'); console.dir(Factory); cons..
[JS] 문법 정리 > 함수: 선언, 호이스팅, 일급 객체
[JS] 문법 정리 > 함수: 선언, 호이스팅, 일급 객체
2020.12.20[JS] 문법 정리 > 함수: 선언, 호이스팅, 일급 객체 Javascript 는 다중 프로그래밍 패러다임이다. 패러다임의 종류 1) 절차적 프로그래밍 - 조건문 - 분기분 - 반복문 - 프로시져 2) 함수형 프로그래밍 - 함수는 1급 객체 - 고차 함수 - 익명 함수 3) 객체지향 프로그래밍 - 객체 생성 - 객체 상속 - 다형성 Javascript 에서는 모든 것을 함수가 책임진다. 함수 선언 방법 함수를 선언하는 방법에는 함수 선언식, 함수 표현식, Function 생성자 함수 총 3가지 방법이 있다. 1. 함수 선언식 (function statement) function name(arg) { // ... return "반환값"; } - JS에서는 함수도 일반 객체처럼 값으로 취급되기 때문에, 함수..
[JS] 문법정리 > 타입과 변수
[JS] 문법정리 > 타입과 변수
2020.12.09[JS] 문법정리 > 타입과 변수 자바스크립트의 특징 - 싱글스레드 이벤트 기반 - 다중 패러다임 - 다이나믹 타입 - 크로스 플랫폼 - Prototype 기반 표준 규격 - 자바스크립트 출시 1995 - ES1 - 1997 - ES3 - 1999 - ES5 - 2009 - ES6 - 2015 - ES Next - 2020~ - http://kangax.github.io/compat-table/es5/ 타입과 변수 타입의 종류 Primitive Type(원시형) - Number : 123 / NaN / Infinity - Boolean : true / false - String : "sangziii" - Undefined : undefined - Null : null - Symbol : Symbol() ..