본문 바로가기

javascript

자바스크립트 객체지향 자바스크립트 - 객체지향 https://youtu.be/9BVi9ygdWs0 https://youtu.be/5NmyjJdoLZM https://youtu.be/y7Z_Wpgmz-Q 아래 내용은 이고잉님의 생활코딩 객체지향 프로그래밍을 본 정리 글입니다. OOP OOP(Object-Oriented-Programming) - 객체지향 프로그래밍 PP(Proceduaral Programming) - 절차지향 프로그래밍 위 OOP와 PP는 서로 대립되는 관계가 아니라 대비되는 관계 Object-Oriented-Programming ---------------------------- Proceduaral Programming PP를 기반으로 OOP가 탄생했고 PP의 부족한 부분을 보완해주는 역활을 한다. PP와 .. 더보기
자바스크립트 함수 자바스크립트의 가장 좋은 점은 함수의 구현 부분이다. 함수는 실행문장들의 집합을 감싸고 있다. 함수는 자바스크립트에서 모듈화의 근간이다. 함수는 코드의 재사용, 정보의 구성 및 은닉 등에 사용하고 객체의 행위를 지정하는데도 사용한다. 프로그래밍 기술은 요구사항의 집합을 함수와 자료구조의 집합으로 변환한 것이다 01)함수 객체 함수는 객체이다. 객체는 프로토타입 객체로 숨겨진 연결을 갖는 이름/값 쌍들의 집합체이다. 객체 중에서도 객체 리터럴로 생성되는 객체는 Object.prototype 에 연결된다. 반면 함수 객체는 Function.prototype 에 연결이 된다. (Function은 Object.prototype에 연결된다.) 또한 모든 함수는 숨겨져 있는 두 개의 추가 속성이 있다. 문맥(con.. 더보기
자바스크립트 스코프와 클로저 스코프와 클로저 자바스크립트에서 스코프와 클로저는 빠질 수 없는 부분이다.(물론 어떤것도 뺄 순 없지만…) 다른 언어를 접하던 프로그래머들이 다르게 작동하는 자바스크립트의 스코프와 접하기 어려운 클로저 때문에 고생이다. 자바스크립트에서 클로저는 상당히 어려운 부분에 속한다 하지만 이해만하고 익숙해진다면 객체지향 언어보다 유연함을 느낄 수 있을것이다. 스코프(scope) 스코프란 현재 접근할 수 있는 변수들의 범위를 뜻한다 어떠한 변수가 스코프 안에 선언되었으면 해당 스코프 안에서는 변수에 접근해서 읽거나 쓸 수 있고, 스코프 밖에서는 해당 변수에 접근할 수 없다. 스코프에는 크게 두 종류의 종류가 있다. 전역 스코프(global scope) 지역 스코프(local scope) 전역 스코프 (global .. 더보기
[ES2020] Nullish coalescing operator ?? Optional Chaining에 이어서 ES2020에 추가된 ?? 연산자를 알아보자 Null 병합 연산자 ?? MDN에서는 '왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.' 라고 나와있다. 즉, null 과 undefined일 때, 오른쪽 피연산자를 return 한다. a ?? b 의 경우 a 가 null,undefined가 아니라면 a 를 리턴 그 외의 경우는 b 만약 ?? 연산자를 사용하지 않고 위와 같은 경우를 작성한다면 x = (a !== null && a !== undefined) ? a : b; //이 처럼 코드가 길어진다. ?? 와 || 의 차이점 || 와 ??는 null, undefined, 숫자.. 더보기
[ES2020]Optional Chaining - ?. ES2020에 추가된 문법 Optional Chaining을 공부해보자 optional chaining이 필요해! let user = { name: { first: "jo", last: "seungjin" } } user.name.first // "jo" user.address.street //Uncaught TypeError: Cannot read property 'street' of undefined //&& 연산자로 해결 user.address && user.address.street; //lodash 유틸리티 라이브러리 사용 import { get } from "lodash"; get(user, "address.street"); 위와 같이 자바스크립트에서 . 는 참조가 nullish (null 또.. 더보기
자바스크립트 객체 객체 자바스크립트에서 단순한 데이터 타입은 (숫자, 문자열, 블리언(true/false), null, undefined)가 있다. 이들을 제외한 다른값은 모두 객체이다. 하지만 이들은 값이 정해지면 변경할 수 없다. 자바스크립트의 객체는 변형 가능한 속성들의 집합이다. 자바스크립트에서는 배열, 함수, 정규 표현식, 객체 등 모두 객체이다. 객체는 이름과 값이 있는 속성들을 포함하는 컨테이너 라고 할 수 있다. 속성의 이름은 문자열이면 모두 가능하다. (빈 문자열도 포함) 속성의 값은 undefined를 제외한 자바스크립트의 모든 값이 사용 될 수 있다. 자바스크립트의 객체는 클래스가 필요 없고, 새로운 속성의 이름이나 값이 어떠한 제약 사항이 없다. 객체는 데이터를 한 곳에 모으고 구조화 하는데 유용하다.. 더보기
자바스크립트 타입 타입 1.내장 타입 자바스크립트에는 7가지 내장 타입이 존재한다. null undefined boolean number string object symbol(ES6부터 추가) object를 제외하고 원시타입(primitives)이라 한다. Typeof 연산자로 값의 타입을 알 수 있다. 1 2 3 4 5 6 7 8 9 10 11 typeof undefined === 'undefined'; //true typeof true === 'boolean'; //true typeof 92 === 'number'; //true typeof "92" === 'string'; //true typeof { life: 92 } === 'object' //true //ES6부터 추가 typeof Symbol() === 'sy.. 더보기
[생활코딩]객체지향(1) 생활코딩 - 객체지향 https://youtu.be/9BVi9ygdWs0 https://youtu.be/5NmyjJdoLZM https://youtu.be/y7Z_Wpgmz-Q 아래 내용은 이고잉님의 생활코딩 객체지향 프로그래밍을 정리 글입니다. OOP OOP(Object-Oriented-Programming) - 객체지향 프로그래밍 PP(Proceduaral Programming) - 절차지향 프로그래밍 위 OOP와 PP는 서로 대립되는 관계가 아니라 대비되는 관계 Object-Oriented-Programming ---------------------------- Proceduaral Programming PP를 기반으로 OOP가 탄생했고 PP의 부족한 부분을 보완해주는 역활을 한다. PP와 OOP의.. 더보기