생성자 함수 객체 리터럴에 의한 객체 생성 방식의 문제점 동일한 프로퍼티를 갖는 객체를 여러 개 생성해야 하는 경우 같은 프로퍼티를 기술해야 하기 때문에 비효율적이다. 생성자 함수에 의한 객체 생성 방식의 장점 객체(인스턴스)를 생성하기 위한 템플릿(클래스)처럼 생성자 함수를 사용하여 프로퍼티 구조가 동일한 객체 여러 개를 간편하게 생성할 수 있다. function Circle(radius){ this.radius = radius; this.getDiameter = function () { return this.radius*2; } } const circle1 = new Cicle(5); cosnt circle2 = new Circle(10) 생성자 함수의 인스턴스 생성 과정 인스턴스 생성과 this 바..
내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. 이중 대괄호 ([[…]]) 내부 슬롯과 내부 메서드다. 내부 슬롯과 내부 메서드에 직접적 접근하거나 호출할 수 있는 방법을 제공하지 않는다. 단 일부 내부 슬롯과 내부 메서드에 한하여 간접적으로 접근할 수 있는 수단을 제공하기는 한다. ex) [[Prototype]] 내부 슬롯은 __proto__를 통해 간접적으로 접근 가능. 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티 상태를 나타내는 어트리뷰트를 기본값으로 자동 정의한다. 프로퍼티의 값 [[Value]] 값의 갱신 가능 여부 [[W..
let 키워드 변수 중복 선언 금지. 블록 레벨 스코프 변수 호이스팅 let 키워드로 선언한 변수는 변수 호이스팅이 발생하지 않는 것처럼 동작한다. 하지만 이는 아니다. let foo = 1; { console.log(foo) //Referenc Error let foo - 2; } b. 변수 호이스팅이 발생하여 위와 같은 결과가 나타난다. let 키워드로 선언한 변수는 “선언 단계”와 “초기화 단계”가 분리되어 진행된다. 스코프의 시작지점 부터 초기화 지점까지 변수를 참조할 수 없는 부분을 TDZ(Temporal Dead Zone)이라 한다. var 키워드로 선언한 전역변수, 전역 함수, 암묵적 전역은 전역 객체 window의 프로퍼티가 된다. 하지만 let 키워드로 선언한 전역 변수는 전역 객체의 프..
일단 결론적으로 말하면 CRA에 .env가 내장되어 있어 따로 설치가 필요없습니다. .env 파일을 생성한다. pakage.json과 같은 위치에 생성. (변수명) = (변수값) 을 지정하는 데, 변수명 앞에 REACT_APP 을 붙여준다! REACT_APP_API_KEY = "rqe5rqerqerqereqreqrq" //이런식으로 적어준다. 사용할 땐 process.env.REACT_APP_API_KEY로 사용하면 완료. 이 글을 적는 이유는 CRA 환경에서 처음 .env를 사용해 봐서 생각없이 npm i dotenv 설치하고 import 해서 사용하니 오류가 뜨더라. 무슨 이유인지 도통 모르겠어서 열심히 검색해본 결과 새로 설치하면 기존 버전과 달라서 그런지 웹팩 폴리필 설정을 새로 해주어야한다.. ..
https://www.acmicpc.net/problem/2573 Bfs함수를 따로 만들고, 시간이 한번 지날때 바뀌는 빙산의 모양을 만드는 nextYear함수를 따로 만들어서 공략했습니다. 함수를 따로 만들면 이해하기가 쉽습니다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n") const [N,M] = input.shift().split(" ").map(Number) let iceberg = input.map(v => v.split(" ").map(Number)) const next = [[1,0],[-1,0],[0,1],[0,-1]] let count = 0 while(true..