분류 전체보기 322

호이스팅 (Hoisting)

호이스팅 (Hoisting) : 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위(함수 블록{})의 최상단에 선언하는 것을 의미 - JavaScript 함수는 실행되기 전 함수 내에 필요한 변수값을 모두 모아 유효 범위의 최상단에 선언 호이스팅 절차 1. JavaScript parser가 함수 실행 전 해당 함수를 한번 훑음 2. 함수 안에 존재하는 변수/함수 선언에 대한 정보를 기억하고 있다가 실행 ※ 실제로 코드가 위로 끌어올려지는 것이 아니라, JavaScript parser가 내부적으로 끌어올려서 처리 ※ 실제 메모리 변화가 X 호이스팅의 대상 - var 변수 선언과 함수 선언문 - 할당은 끌어올려지지 않음 - let/const 변수 선언과 함수 표현식에서는 호이스팅 발생 X ※ 함수..

var VS let VS const 의 차이

var - es5의 변수 선언 방법 - Function-level Scope let - es6의 변수 선언 방법 - Block-level Scope - 일반 변수 - 중복 선언시 TypeError 발생 const - es6의 변수 선언 방법 - Block-level Scope - 상수용 변수 - 처음 생성 시 초기값 필수 지정 함수 레벨 스코프 (Function-level scope) - 함수 내에서 선언된 변수는 함수 내에서만 유효하며, 함수 외부에서 참조 불가능 - 함수 내부에서 선언한 변수는 지역 변수 / 함수 외부에서 선언한 변수는 전역 변수 - 자바스크립트 특징 - var 키워드 생략 허용 - 변수 중복 선언 허용 - 전역 변수 남용 블록 레벨 스코프 (Block-level scope) - 모든..

ECMAScript란?

ECMAScript 란? - Ecma International이 ECMA-262 (1996년 11월 ~)기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어 - JavaScript를 표준화하기 위해 만들어짐 - 웹 클라이언트 측 스크립트로 많이 사용되며, 점차 Node.js를 사용한 서버 측 스크립트에도 사용됨 ※ Ecma International - 1961년 유럽에서 컴퓨터 시스템을 표준화하기 위해 세워짐 - 정보와 통신 시스템을 위한 국제적 표준화 기구 - 원래 이름 : European Computer Manufacturers Association (ECMA) - 기구의 국제적 확장을 반영하여 현재의 이름으로 바뀜 ECMAScript와 JavaScript 차이 - ECMAScript :..

[Angular5] translate 번역 값이 안나오고 번역 키가 대신 나오는 현상 해결

app.module.ts 파일에서 아래 모듈, 함수 추가 import { NgModule, Injector, APP_INITIALIZER } from '@angular/core'; import { LOCATION_INITIALIZED } from '@angular/common'; import { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; export function appInitializerFactory( translate: TranslateService, injector: Injecto..

ECMAScript 2020

String.prototype.matchAll( ) - String.prototype.match( )와 유사하게 동작 - 정규 표현식과 매칭되는 문자열, 세부 정보를 포함하는 iterator를 반환 예제) const text = "From 2019.01.29 to 2019.01.30"; const regexp = /(?\d{4}).(?\d{2}).(?\d{2})/gu; const results = text.match(regexp); console.log(results); // [ '2019.01.29', '2019.01.30' ] const text = "From 2019.01.29 to 2019.01.30"; const regexp = /(?\d{4}).(?\d{2}).(?\d{2})/gu; const..

[Javascript VS Typescript] 자바스크립트와 타입스크립트 중 뭐가 더 좋을까

Javascript - HTML 및 웹 개발에 가장 많이 사용되는 프로그래밍 언어 - 메모리 측면에서 가볍고, 크로스 플랫폼 개발을 지원하는 객체 기반 스크립팅 언어 - 웹 사이트의 클라이언트 쪽 동적 페이지를 만드는데 적합 - HTML 페이지에서 사용되고, 페이지가 로드될 때 자동으로 실행 - 일반 텍스트로 제공 및 실행 - 실행을 위한 별도의 준비나 컴파일이 필요하지 않음 특징 1. 서버 커뮤니케이션 - 페이지를 서버에 전송하기 전, 사용자 입력의 유효성을 검사하는 옵션 제공 2. 상호 작용 - 마우스 hover 시 나타나는 인터페이스 등 3. 낮은 reloading 속도 - 코드를 즉시 참조하므로 개발자가 업데이트한 사항을 페이지가 다시 로드될 때 까지 기다리지 않고 바로 볼 수 있음 4. 날짜와 ..