자바스크립트
-
[TS] 타입스크립트란?간단정리 2020. 7. 15. 10:40
개요 타입스크립트는 마이크로소프트에서 개발하고 관리하는 오픈소스 프로그래밍 언어이며, 자바스크립트의 상위 조합이고 최산 ECMA스크립트를 따른다. 타입스크립트는 ECMA스크립트를 따르기 때문에, 자바스크립트의 특성을 침범하지 않고 최신 ECMA 표준을 지원한다. (ECMA) 자바스크립트를 보완하여 변수나 함수 등에 명시적으로 타입을 추가할 수 있게 타입 안정성을 높였고, 모듈화, 객체지향 프로그래밍 지원, 도구 지원등을 해준다. 특징 * 자바스크립트는 동적 타이핑 언어로 컴파일에 시간을 들이지 않고, 동적 타이핑을 수행하기 때문에 런타임시 속도가 빠르다. * 타입스크립트는 정적 타이핑 언어로 컴파일에 시간이 들지만, 컴파일 이후 동작은 자바스크립트와 같다. 위와 같은 이유로 단순히 타입스크립트는 속도가 ..
-
[JS] 화살표 함수 (Arrow Function)간단정리 2020. 7. 10. 09:18
약 2년전, Javascript를 처음 접할 때 Arrow Function이 그냥 함수를 정의할 때. 꼭 써야하는 문법이라고 생각했다. 난 시작 부터 ECMAScript2015(ES6) 가 있었기 때문이다. (왜 2015가 6가 되는진 모르겠다.) JS에 대해서 조금 알게 되고, 실제 제품을 만들 때 '굳이 화살표 함수를 써야하나?' 생각이 들었다. 도대체 이게 왜 나왔고, 무엇이 편리한지 알아보자. [스포] (1) function에 비해 구문이 짧고 (2) this, arguments, super 또는 new.target을 바인딩 하지 않는다. 1. function에 비해 구문이 짧다. // ES5 var foo = function () { console.log("foo") }; // foo // ES..
-
[JS] 암묵적(Implicit), 명시적(Explicit) 형변환간단정리 2020. 7. 9. 09:18
대부분의 언어에서 형변환이 존재한다. 직접 한땀한땀 변경하는 방법과 자동으로 변경하는 방법 정도로 생가하면 좋을 것 같다. 분명 한 것은 한땀한땀 변경하는 것을 모두가 추천할 것이다. 암묵적 타입 변환(Implicit Coercion) * 자바스크립트의 강점이기도 하지만, 가장 피해야할 기능이기도 하다. 자바스크립트는 느슨한 언어이기에 var는 어떤 타입이든 자동적으로 변경 된다. 1 + "Ryuk" // 1Ryuk : string 1 + "2" + 3 // 121 : string 1 + 2 + "3" // 33 : string 2 * "2" // 4 : number 1 + true // 2 : number 1 + false // 1 : number 예제가 더 보고 싶다면 (링크) * 위와 같은 기괴한 ..
-
[JS] undefined / null / NaN 차이점간단정리 2020. 7. 7. 23:04
undefined : 선언은 되었으나 값이 할당 되지 않은 상태 (초기화 안하면 무조건 undefined 상태) var temp; Boolean(undefined) 에서는 false Number(undefined) 에서는 NaN String(undefined) 에서는 "undefined" null : 아무런 값도 나타내지 않는 특수한 값 (초기화 해주어야 null 상태가 존재 할 수 있음) var temp = null; C++ 에서는 포인터형 변수가 아무 것도 가르키지 않을 때 nullptr이 된다. (null은 0이 래핑 되어있다.) null의 타입은 null이다. 하지만, typeof로 출력 되는 값은 object 이다. 이는, 코드가 업데이트 되지 않은채 많은 시간이 흘렀기 때문이라고 한다. (링크..