분류 전체보기(101)
-
[모던 자바스크립트 Deep Dive] 19장. 프로토타입 - 1
1. 객체지향 프로그래밍 - 객체의 집합으로 프로그램을 표현하는 프로그래밍 패러다임. - 추상화(Abstraction) : 필요한 속성만 간추려 내어 표현하는 것. - 객체 : 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조, 상태 데이터와 동작을 하나의 논리적인 단위로 묶은 복합적인 자료구조. 2. 상속과 프로토타입. - 상속(Inheritance) : 어떤 객체의 프로퍼티 또는 메서드를 다른 객체가 상속받아 그대로 사용할 수 있는 것. 코드의 재사용이란 관점에서 유용. 아래의 예제는 프로토타입을 기반으로 상속을 구현한 예제이다. function Circle(radius){ this.radius = radius; } Circle.prototype.getArea = function()..
2023.03.10 -
[JS] 백준 알고리즘 Node.js 1251. 단어 나누기
1. 문제 https://www.acmicpc.net/problem/1251 2. 풀이 1) 임의의 두 부분을 골라서 단어를 쪼갠다고 했으니, 반복문을 통하여 단어를 2번 쪼갤 수 있도록 함. 2) 이후 쪼갠 단어들을 앞뒤로 뒤집은 후, 각각 단어로 만들어서 합치고 새로운 배열에 넣어둠. 3) sort() 함수와 localeCompare() 함수를 이용하여 정렬시키고 배열에 맨 처음 나오는 단어를 보여줌. const inputs = require('fs').readFileSync('/dev/stdin').toString().trim().split(''); let makeWordArr = [] for(let i = 1; i a.localeCompare(b))[0]) 3. 정리 - sort() 함수가 문자까..
2023.03.10 -
[모던 자바스크립트 Deep Dive] 24장. 클로저(Closure)
1. 렉시컬 스코프 (정적 스코프) - 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정. - 함수의 상위 스코프를 결정한다 = 렉시컬 환경의 외부 렉시컬 환경에 대한 참조에 저장할 참조값을 결정한다. * 스코프 체인 : 실행 컨텍스트의 렉시컬 환경은 자신의 외부 렉시컬 환경에 대한 참조(Outer lexcial environment reference)를 통해 상위 렉시컬 환경과 연결되는 것. 렉시컬 환경의 "외부 렉시컬 환경에 대한 참조"에 저장할 참조값, 즉 상위 스코프에 대한 참조는 함수 정의가 평가되는 시점에 함수가 정의된 환경(위치)에 의해 결정된다. 2. 함수 객체의 내부 슬롯 [[Environment]] - 함수는 자신의 내부 슬롯 [[..
2023.03.08 -
[JS] 백준 알고리즘 Node.js 1064. 평행사변형
1. 문제 https://www.acmicpc.net/problem/1064 1064번: 평행사변형 평행사변형은 평행한 두 변을 가진 사각형이다. 세 개의 서로 다른 점이 주어진다. A(xA,yA), B(xB,yB), C(xC,yC) 이때, 적절히 점 D를 찾아서 네 점으로 평행사변형을 만들면 된다. 이때, D가 여러 개 나 www.acmicpc.net 2. 풀이 1. 만들 수 있는 평행사변형 중 가장 큰 둘레의 길이와 가장 작은 둘레의 길이의 차이를 구해야 한다. 2. 문제에서 주어진 점 3개를 이용하여 각각의 길이를 구한 후, 이들 중 가장 긴 변의 길이와 가장 짧은 변의 길이를 찾음. * 피타고라스의 정리 이용 let ab_length = Math.sqrt((ax - bx)**2 + (ay - by..
2023.03.08 -
[모던 자바스크립트 Deep Dive] 23장. 실행 컨텍스트
1) 소스코드의 타입 - 소스 코드를 구분하는 이유는 소스 코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르기 때문! (1) 전역 코드 (Global code) : 전역에 존재하는 소스 코드 (2) 함수 코드 (Function code) : 함수 내부에 존재하는 소스 코드 (3) eval 코드 (Eval Code) : 빌트인 전역 함수인 eval 함수에 인수로 전달되어 실행되는 소스 코드 (4) 모듈 코드 (Module Code) : 모듈 내부에 존재하는 소스코드. 2) 소스코드의 평가와 실행 소스코드의 평가와 소스코드의 실행 과정으로 나누어 처리. 아래의 소스 코드가 실행된다고 생각. var x; x = 1; (1) 소스 코드 평가 과정 ㄱ) 변수 선언문 var x;를 실행. 이때 ..
2023.03.07