Study 40

실행 컨텍스트

소스코드의 종류 전역 코드(global code) 전역에 존재하는 소스코드 전역에 정의된 함수, 클래스 등의 내부코드는 포함되지 않음 함수 코드(function code) 함수 내부에 존재하는 소스코드 함수 내부에 중첩된 함수, 클래스 등의 내부 코드는 포함되지 않음 eval 코드(eval code) 빌트인 전역 함수인 eval 함수에 인수로 전달되어 실행되는 소스코드 모듈 코드(module code) 모듈 내부에 존재하는 소스코드 모듈 내부의 함수, 클래스 등의 내부코드는 포함되지 않음 코드 별 실행 컨텍스트 생성 과정 및 관리 내용 전역 코드 전역 변수를 관리하기 위해 최상위 스코프인 전역 스코프를 생성 var 키워로 선언된 전역 변수와 함수 선언문으로 정의된 전역 함수를 전역 객체의 프로퍼티와 메서..

Study/Javascript 2022.06.21

빌트인 객체

빌트인 객체 객체 종류 표준 빌트인 객체(standard built-in objects/native objects/global objects) ECMAScript 사양에 정의된 객체를 말하며, 애플리케이션 전역의 공통 기능을 제공 자바스크립트 실행 환경과 관계없이 언제나 사용할 수 있음 별도의 선언 없이 전역 변수처럼 언제나 참조할 수 있음 호스트 객체(host objects) ECMAScript 사양에 정의되어 있지 않지만 자바스크립트 실행 환경에서 추가로 제공하는 객체 브라우저 환경에서는 클라이언트 사이드 Web API, Node.js 환경에서는 Node.js 고유의 API를 제공 사용자 정의 객체(user-defined objects) 사용자 정의 객체는 표준 빌트인 객체와 호스트 객체처럼 기본 제..

Study/Javascript 2022.06.03

프로토타입

객체지향 프로그래밍 객체지향이란? 객체의 상태를 나타내는 데이터와 상태 데이터를 조작할 수 있는 동작을 하나의 노리적인 단위로 묶은것을 말함 객체란? 속성을 통해 여러개의 값을 하나의 단위로 구성한 복합적인 자료구조 const circle = { redius: 5, //반지름 //원의 지름: 2r getDiameter(){ return 2 * this.readius; }, //원의 둘레 getPerimeter(){ return 2 * Math.PI * this.radius; }, //원의 넓이 getArea(){ return Math.PI * this.radius ** 2; } }; console.log(circle); console.log(circle.getDiameter()); console.log(..

Study/Javascript 2022.05.21

프로퍼티 어트리뷰트

내부 슬롯과 내부 메서드 프로퍼티 어트리뷰트를 이해하기 위해 알아야 할 개념 ECMAScript 사양에 등장하는 이중 대괄호([[...]])로 감싼 이름들을 말함 ECMAScript에서는 '내부 슬롯은 설명을 목적으로 정의되었지만 실제로 내부에서 관련 메서드에 의해 명시된 대로 동작한다'라 정의함 실제로 동작하지만 개발자가 직접 접근 할 수 있도록 외부로 공개된 객체의 프로퍼티는 아님 일부 내부 슬롯과 내부 메서드에 한하여 간접적으로 접근할 수 있는 수단을 제공 const o = {}; //내부 슬롯은 자바스크립트 엔진의 내부 로직이므로 직접 접근할 수 없음 o.[Prototype]; //일부 내부 슬롯과 내부 메서드에 한하여 간접적으로 접근할 수 있는 수단을 제공 o.__proto__; 프로퍼티 어트리..

Study/Javascript 2022.05.10

스코프(Scope)

정의 function add(x, y){ console.log(x,y); return x + y; } add(2, 5); console.log(x, y); // ReferenceError: x is no defined 위 코드에서 x, y 는 add 함수 안에서만 유효한 식별자이므로, add 함수 외부에서 참조할 경우 ReferenceError가 발생한다. 이런 식별자의 유효한 범위를 스코프(Scope)라고 한다. 식별자가 유효한 범위 모든 실별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정됨 식별자를 검색할 때 사용하는 규칙 [예제] var x = 'global'; function foo(){ var x = 'loc..

Study/Javascript 2022.04.29

함수

정의 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것 매개변수(parameter), 인수(argument), 반환값(return value) 로 이루어져 있음 매개변수 : 함수 내부로 입력을 전달받는 변수 인수 : 입력 값 반환 값 : 출력 값 함수를 정의하는 방식 4가지 함수 선언문 함수 표현식 Function 생성자 함수 화살표 함수(ES6) 사용이유 유지 보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높이는 효과가 있음 코드의 가독성을 높임 var x = 0; var y = 0; var result = 0; x = 1; y = 2; result = x + y; x = 3; y = 4; result = x + y; // 위 코드를 아래로 함수..

Study/Javascript 2022.04.27

알아 두면 좋은 Java 기능 정리

함수형 인터페이스 - 추상메서드가 하나만 있는 경우, 두개 이상은 불가능(다른형태의 메서드가 여러개 있는건 상관 없음 오로지 추상메서드만 한개 있어야함), @FuncionalInterface 로 선언하여 사용 Java8 에서 인터페이스 - static 메서드 정의 가능, default 메서드 정의 가능 함수형 인터페이스는 순수한 함수여야 한다. 항상 같은 값에는 같은 결과값을 리턴해야한다. (=멱등해야한다.), 외부에 있는 값을 변경하면 안된다. 자바에서 제공하는 주요 함수형 인터페이스 종류 Function T 타입을 받아서 R 타입을 리턴하는 힘수 인터페이스 함수 조합용 메소드 andThen -> A.andThen(B) B 실행 결과값을 가지고 A를 수행 compose -> Acompose(B) A 실..

Study/Java&Spring 2022.04.25

원시타입 값 vs 객체타입 값

Javascript 에서 사용하는 데이터 타입 원시 타입(primitive type) Boolean : 논리 요소를 나타내며 true와 false 두 가지의 값을 가질 수 있음 Null : null 하나의 값만 가질 수 있음 Undefined : 값을 할당하지 않은 변수 Number : Number와 BigInt 두 가지의 내장 숫자 타입을 가지고 있고, 정수 실수 구분 없이 하나의 숫자 타입만 존재함 BigInt : 임의 정밀도로 정수를 나타낼 수 있는 JavaScript 숫자 원시 값, Number의 안전 한계를 넘어서는 큰 정수도 안전하게 저장하고 연산할 수 있음 String : 텍스트 데이터를 나타낼 때 사용하는 문자열 타임 Symbol : 고유하고 변경 불가능한 값 객체 타입(object/ re..

Study/Javascript 2022.04.25

Javascript 객체 리터럴

Javascript 에서 객체란? 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체 원시 타입의 값 : 변경 불가능한 값(immutable value) 객체 타입의 값 : 변경 가능한 값(mutable value) 프로퍼티, 메서드로 이루어져 있음 프로퍼티(=변수) : 객체의 상태를 나타내는 값(data), 키(key) 와 값(value) 로 이루어져 있다. 메서드(=C++, Java에서의 함수) : 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작(behavior) var person = { //-----프로퍼티-----// name: 'Kim', age: 20, //-----메서드-----// increase: function(){ this.age++; } }; 객체 생성..

Study/Javascript 2022.04.17

Web Server 와 WAS(Web Application Server)

Web Server 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML 문서와 같은 웹 페이지를 반환 하는 컴퓨터 프로그램 클라이언트가 웹 브라우저에서 어떠한 페이지 요청을 하면 웹 서버에서 그 요청을 받아 정적인 컨텐츠를 제공하는 서버 웹 서버가 동적 컨텐츠 요청을 받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달해주는 역할 대표적인 예) Apache, Nginx 등 Static Pages(정적페이지[컨텐츠]) 란? - Web Server는 파일경로 이름을 받아 경로와 일치하는 File contents를 반환한다. - 항상 동일한 페이지를 반환한다. - HTML, CSS, javascript, image 파일과 같이 컴퓨터에 저장되어 있는 파일을 말함 주..

Study 2022.01.18