본문 바로가기

Javascript39

JavaScript - arrow function ES6 = ECMA Script 2015 ES는 ECMA Script의 줄임말이다. ECMA Script는 JavaScript를 표준화시키려고 탄생했다. JavaScript의 역사는 점점 깊어지고, 문법의 보완이 필요하면서 버전별로 문법을 확장시키고 브라우저는 특정 버전의 기능별로 지원할 수 있도록 ES가 명세를 확정해왔다. 즉, ECMA Script는 JavaScript를 표준화시키고, 규격화하기 위해 만들어진 것이다. 현재는 ES10 버전까지 나왔지만, 주로 쓰이는 것은 ES6이다. 6은 버전 이름이고 ES2015라고도 한다.(2015년에 ES6 최종 나왔기 때문.) arrow function 이 전에 배웠던 function을 표현하는 방법과 완전히 다르지만, 생김새만 바뀐 것이다. //ES5 fun.. 2020. 7. 5.
JavaScript - Object(2) 객체는 다른 데이터 타입(텍스트, 숫자, 배열 등..)처럼 변수에 저장할 수 있다. {}(중괄호)만 사용하면 되는데, 이렇게 {}으로 생긴 모양의 객체를 object literal(객체 리터럴)이라 부른다. hello라는 변수에 빈 객체를 할당해본다면, let hello = {}; 이렇게 할당해 줄 수 있다. 객체에는 순서가 없는 데이터의 모임이다. 반대로 순서가 있는 데이터는 배열이다. let arr = ['고양이', '귀여워', '멍멍이', '좋아']; arr의 요소가 차례대로 추가된 것이고 index는 0부터 시작한다. arr[0]은 '고양이'이고, arr[1]은 '귀여워'이다. 객체는 키(key)-값(value)쌍으로 된 데이터의 모음으로써 순서가 뒤 바뀌어도 아무 상관이 없다. 배열처럼 순서대로.. 2020. 7. 5.
JavaScript - Class 클래스는 객체지향 프로그래밍의 핵심이다. 객체지향 프로그래밍이란, 프로그램을 객체들로 구성하고, 객체들 간에 서로 상호작용하도록 작성하는 방법이다. JavaScript는 객체지향 중심에 있는 언어는 아니지만, 프로그래밍에 있어서 Class, 객체, 객체지향은 항상 중요한 주제이다. "객체지향 프로그래밍"이라는 단어에서 "객체"는 앞서 배웠던 { num:1 }의 데이터 타입을 말하는 것이 아닌, object, 사물을 뜻한다. 하지만, 클래스는 결국 { num: 1 } 처럼 생긴 객체(object)를 잘 설계하기 위한 틀은 맞다. 그런데 이때의 객체는 특정 로직을 갖고 있는 행동(method)과 변경 가능한 상태(멤버 변수)를 가진다. 원하는 구조의 객체 틀을 짜놓고, 비슷한 모양의 객체를 공장처럼 찍어낼 .. 2020. 7. 5.
JavaScript - Scope JavaScript에서 scope란, '변수가 어디까지 쓰일 수 있는지'의 범위를 의미한다. (주의. 문법 아님!) ***is not defined라는 에러를 한 번이라도 경험했을 수 있었을 텐데, 이 에러는 변수가 아직 선언되지 않았다는 뜻이다. 변수를 선언했는데도 에러를 경험했다면, 변수를 선언한 영역에(block에) 접근할 수가 없어서 컴퓨터가 변수가 선언되었다는 사실을 알지 못해서 그랬을 것이다. 그래서 변수가 선언되지 않았다는 오류 메시지를 출력하게 되는 것이다. 어떤 변수는 여기저기서 쓸 수 있는 반면에, 어떤 변수는 특정 함수 내에서만 쓸 수 있다. 이런 개념이 바로 scope이다. Block scope를 알기 전에 먼저 알아야 할 개념은 block이다. block이란, 중괄호({}, cur.. 2020. 7. 4.