JS & TS 38

[JavaScript] 객체 지향 프로그램

객체 지향 프로그래밍 (Object Oriented Programming) 원시(primitive) 타입을 제외한 모든 것이 객체(object) 특정 인스턴스에 종속되지 않는 함수를 클래스(정적) 메소드라고 한다. 은닉성 캡슐화, 내부(local) 변수 및 메소드 보호(private, protected, public) 상속성 확장성(extends, mixin, prototype), superclass & subclass 다형성 polymorphism, interface / super class 추상화 abstract class 정적 필드 / 메소드 - Class(Static) Field / Method 특정 인스턴스와 무관하고 Class에 존재하는 함수(method) static 영역에 생성 인스턴스 프..

JS & TS/JavaScript 2024.02.08

[JavaScript] Object

객체(Object) key와 value로 구성된 프로퍼티 들의 집합 Object 생성 방법 {} 중괄호를 사용하여 생성 var obj = {}; var obj2 = { name: ‘Kim’, gender: ‘male’}; Object 생성자 함수 사용하여 생성 var obj3 = new Object(); Object 프로퍼티 추가 obj.key = value; 형식으로 프로퍼티 추가 obj.name = ‘Kim’; 프로퍼티 값 접근 obj.[’key이름’] 으로 접근 obj.key이름 으로 접근 갱신은 접근 후 = 새로운 값으로 값 갱신 프로퍼티 값 삭제 delete obj.key이름 으로 프로퍼티 삭제 프로퍼티 출력 for-in 문 사용 for (var prop in obj) { console.log(..

JS & TS/JavaScript 2024.02.08

[JavaScript] Array

배열(Array) 배열은 순서가 있는! 데이터 집합 0으로 시작하는 숫자형 인덱스 - 배열의 각 요소는(element) 인덱스로 접근 length 프로퍼티를 가지며, length를 조정하여 배열의 길이를 조절할 수 있다. (줄이면 제거, 늘리면 empty) 배열 Class(static) Methods 순수 함수(pure functions) concat, join, values indexOf, lastIndexOf, includes, findIndex, findLastIndex slice, entries, flat find, findLast some, every, map, filter forEach, reduce 비 순수 함수(non-pure functions) push, pop, shift, unshif..

JS & TS/JavaScript 2024.02.08

[JavaScript] function

함수(Function) 함수는 하나의 단위로 실행되는 문(statement)들의 묶음. 함수도 객체(Object) 호출 당시에 평가되고 실행된다. 함수 생성 방식 함수 선언문 function f() {…} (function() {…} 익명 함수 표현식) 함수 표현식 const f1 = function ff() {…} const f2 = function() {…} 즉시 호출 함수(IIFE, Immediately Invoked Function Expression) (function() { … }) (); 불필요한 전역 변수와 메모리 낭비를 줄일 수 있다. 화살표 함수(Arrow Function) non-constructor, 함수를 반환하는 고차 함수에 사용하기 좋다. const f3 = () ⇒ {…}; ..

JS & TS/JavaScript 2024.02.08

[JavaScript] scope, 실행 컨텍스트, strict mode

Global Object (전역 객체) JS engine process 생성(시작) 시 맨 먼저 생성 BuiltIn(standard) propertoes & functions host object(browser, node API) 및 var/function object도 보유 전역 변수는 전역 객체에 영원히(process 종료시까지) 존재한다. 직접 생성(컨트롤) 못하고 window(globalThis) 키워드 생략 가능 const/let은 전역 객체가 아닌 Declarative Enviroment Record에 별도 생성 선언이 없는 식별자는 암묵적 전역으로 전역 객체에 등록된다. (ex. ig = 1;) encode/decode URI encodeURI(), decodeURI() 서버가 인식할 수 있..

JS & TS/JavaScript 2024.02.08

[JavaScript] 형 변환, Hoisting

형 변환 (Type Conversion/Casting) 문자열 병합 연산자 병합 연산자 5 + ‘30’; ⇒ 문자열로 형 변한되어 530 으로 출력 산술 연산자 5 * '30'; 같이 실행해도 형 변환되어 150으로 출력 암묵적(강제) 형변환 (Implicit coercion, Type coercion) 해당 라인 (문, statement)에서만 형 변환되고 다시 원복 예로 i = 100; 선언 후 i.toString(); 하면 ‘100’ 으로 출력한다. 하지만 다음 줄에서 typeof i 를 적으면 i는 number type으로 나온다! 이렇게 해당 라인에서만 형 변환되고 원복된다. Hoisting(호이스팅, scope: 전역, 함수, 블럭, 모듈, …) JS 함수는 실행되기 전에 함수 안에 필요한 변..

JS & TS/JavaScript 2024.02.08

[JavaScript] Javascript란?

JavaScript HTML, CSS와 함께 웹을 구성하는 요소 중 하나 인 스크립트 언어 웹 페이지에서 동작하는 것을 담당한다. parameter, argument argument(인자) 어떤 함수가 호출될 때 전달하는 값 parameter(매개변수) 전달된 값을 받아들이는 변수 primitive(call-by-value) vs object(call-by-reference) call by value 값에 의한 호출 (값을 복사) 숫자, 문자열, boolean, null, undefined 같은 기본형(원시형)을 인자로 매개변수에게 넘길 때 사용 방식 값을 복사, 보존. 하지만 메모리 사용량 늘어남 call by reference 참조에 의한 호출 (주소를 복사) 배열, 객체, 함수, 날짜, 정규표현식 ..

JS & TS/JavaScript 2024.02.08
728x90