To infinity
-
[백준 Node.js] 10950번 A+B-3To infinity/Coding Practice 2021. 6. 20. 10:11
2021.06.20 Question 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net Answer code let fs = require('fs'); let input = (process.platform === 'linux' ? fs.readFileSync('/dev/stdin').toString() : `5 1 1 2 3 3 4 9 8 5 2 ` ).split('\n'); for(let i=1; i +el); console.log(data[0]+data[1]); let input에 쓴 로직은 업로드 전 VS CODE에서 테스트해보기 위해 짜여진 코드다. 데구리님 블로그에서 참고했다. 백준에서 node.js 입력 방법은 ..
-
[Javascript] 제어문To infinity/Javascript 이론 2021. 6. 16. 22:05
2021.06.16 Ver.1 백준 단계별 코딩을 하고있는데 내가 제어문 부분을 생활코딩 강의로만 듣고 책으로 보진 않아서 해당 개념을 좀 헤갈려한다는 것을 알게 되었다. 그래서 if문을 풀고있지만 코드를 짜면서 드는 궁금증을 개념정의를 통해 먼저 해결하고자 오늘은 제어문을 학습하기로 한다. 1. 블록문 (코드블록) - 0개 이상의 문을 중괄호{}로 묶은 것 - 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 가지므로 블록문의 끝에는 세미콜론을 붙이지 않는다. 2. 조건문 - 주어진 조건식의 평가결과에 따라 코드블록의 실행을 결정함. - 조건식은 불리언 값으로 평가될 수 있는 표현식 - if (조건식){코드블록} - if else, else는 옵션임 (else가 옵션이었구나) - 코드블록 내의 문이 ..
-
[Javascript] 함수To infinity/Javascript 이론 2021. 6. 14. 23:52
2021.06.11 ~ 12, Ver.1 1. 함수 함수선언문, 함수표현식 2. 함수호출 - 매개변수: 함수 정의 시 선언, 함수몸체 내부에서 변수와 동일하게 취급됨. - 함수호출: 표현식 - 스코프 result = undefined add 함수호출 함수몸체 내부 x=undefined, y=undefined 런타임 환경 실행 x=2, y=5 x + y = 7 result = 7 - 매개변수의 개수와 인수의 개수가 일치하는지 체크하지 않기에 에러가 발생하지 않음 단지, 인수가 할당되지 않은 매개변수의 값음 undefined임. so, 2 + undefined가 되서 NaN가 반환됨 초과된 인수는 함수계산시에는 무시되지만 암묵적으로 arguments 객체의 프로퍼티로 보관됨 [참고] argument객체 : ..
-
[Javascript] 함수 호출방식과 this 바인딩 (related to 생성자 함수)To infinity/Javascript 이론 2021. 6. 14. 23:50
2021.06.14 Ver.1 생성자 함수 보다가 this로 넘어가서 내용이 갑자기 본문 느낌이다. 그래서 생성자 함수랑 연계해서 보면 좋을 듯. 함수 호출방식과 this 바인딩 - this 바인딩은 함수 평가시점이 아닌 함수 호출시점에 결정됨. 호출 시 상위스코프를 찾아감. 상위스코프가 없을 시 자기자신에게 돌아오겠지?? 1. 일반함수호출 - this: 객체 자신의 프로퍼티나 메서드를 참조하기 위한 자기참조변수 그렇기에 일반적으로 객체 메서드 내부나 생성자 함수 내부에서만 의미가 있음. (그래서 this.변수가 생성자함수만드는 식인가봐) 그래서 전역함수는 물론이고 중첩함수를 일반함수로 호출하면 객체를 생성하지 않기 때문에 this는 의미가 없음. 메서드 내에서 정의한 중첩함수도 일반함수로 호출하면 중첩..
-
[Javascript] 호이스팅 Hoisting and 변수키워드 var, let, const (feat. 둘리)To infinity/Javascript 이론 2021. 6. 13. 12:30
20201.06.13 Ver1 1. 호이스팅 Javascript에는 다른 언어와 다른 특이한 기능이 있는데 바로 호이스팅이라는 것이다. 호이스팅은 선언문 전에 실행 컨텍스트 환경이 세팅되고 초기화가 진행되는 현상이다. 그래서 만약에 아래코드를 실행하면 아래와 같은 결과가 나온다. let hoist = 1; { console.log(hoist); // access불가 let hoist = 2; } 결과: 만약 호이스팅이 일어나지 않으면 지역스코프의 hoist 값인 1을 참조해서 1의 결과를 내야 하지만 해당 결과는 access할 수 없다고 뜬다. 즉, 호이스팅이 일어나서 해당 함수코드 내에 실행콘텍스트가 생긴 것이다. 즉, 자바스크립트에서 모든변수는 호이스팅이 발생한다. 2. 변수키워드 var, let, ..
-
[Javascript] 프로퍼티 어트리뷰트 (프로퍼티 상세속성 바꾸기)To infinity/Javascript 이론 2021. 6. 13. 12:14
2021.06.13 Ver1 자바스크립트: 객체object 기반의 프로그래밍 언어 (함수와 객체는 분리할 수 없다!) 원시타입: 단 하나의 값 객체타입: 다양한 타입의 값 객체 = 0개 이상의 프로퍼티로 구성된 집합 프로퍼티 = key + value 프로퍼티: 객체의 상태를 나타내는 값 (data) // 음, 객체의 값이라고 생각하면 될 듯 메서드: 프로퍼티를 참조하고 조작할 수 있는 동작 (behavior) // 프로퍼티 값이 함수일 경우 일반함수와 구분을 위해 메서드 method라고 부름, 객체 값 중 함수 1. 내부슬롯과 내부메서드 - 자바스크립트 엔진의 내부로직으로 직접 접근 및 호출이 불가능함. - 하지만 일부에 한해 간접적으로 접근할 수 있음 Ex. [[Prototype]] 내부슬롯에는 __p..
-
[Javascript] 실행컨텍스트 flow (코드실행 시 일어나는 과정)To infinity/Javascript 이론 2021. 6. 12. 15:33
2021.06.12 Ver1 책을 읽다보니 반복적으로 나오는 개념들이 있는데 처음엔 그냥 넘어갈 수 있었지만 읽는 챕터가 많아질수록 해당 개념에대한 물음표가 점점 많아지기 시작했다. (왜냐면 처음부터 순서대로 책을 읽지 않기 때문) 바로, 이때가 해당 개념에 대해 공부할 때 이다. 그래서 가장 기본이 되는 용어에 대해 공부하기로 한다. 전체적인 흐름에 대해 먼저 알고나서 해당 개념으로 넘어와서 그런지 좀 더 이해가 잘됐다. 그리고 컴퓨터 용어도 결국엔 하나의 '언어'이기 때문에 현재 우리가 사용하고 있는 '언어'인 '한국어'의 구성과 비교해서 같이 생각하면 좀 더 이해하기 쉬운 것 같다. 1. 기본용어 0. 리터럴 (literal) - 사람이 이해할 수 있는 문자와 기호를 사용해 값을 생성하는 표기법 (..
-
[Javascript] 스코프 scope (유효범위)To infinity/Javascript 이론 2021. 6. 10. 23:57
작성일: 2021.06.10, Ver1 1. 스코프란? - 기본적이고 중요한 내용임. - 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있으므로 주의 (함수 레벨 스코프) 특징을 범위설정방법과 검색규칙 두가지로 나눠보자. 1) 식별자가 유효한 범위를 결정 - 모든 식별자(변수이름, 함수이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 자신의 유효범위가 결정됨. (ex. 함수몸체 내에서 선언된 변수는 함수몸체 내에서만 유효. 변수는 가장 바깥영역, 코드블록, 함수몸체 내에서도 유효.) (1) 자바스크립트는 렉시컬 스코프 (lexical scope)임 - 동적스코프(dynamic scope): 함수를 어디서 호출했는가에 따라 함수의 상위 스코프를 결정 - 렉시컬스코프 또는 정적 스코프(st..