Javascript/Basics 6

자바스크립트 ES, ES5, ES6(ES2015)

자바스크립트(Javascript), ECMAScript, ECMA-262 자바스크립트를 공부하다보면 ES6 문법이라는 이야기를 많이 듣는다. 특히 변수 선언하면서 사용하는 let과 const 설명을 하며 자주 듣는데, ES6, ES5 하면 뭔가 버전 같기도 하고, 어떤 것인지 궁금했다. ES ES는 ECMAScript의 약자이다. 그리고 ECMAScript는 자바스크립트 언어의 표준 사양을 정의하는 규격이다. 이 규격은 Ecma International라는 국제 표준화 기구에서 정한 것. (European Computer Manufacturers Association이라는 이름에서 국제적으로 커지다보니 이름을 그냥 Ecma로 바꿨다고 한다.. ISO와 비슷하다고 생각하면 편할 듯) ISO 9001, 14..

Javascript/Basics 2023.04.09

this[0]

this, 이것 JS에서 this는 중요하다. 그리고 복잡하다. 지금까지 공부한 것을 정리하기 위해 글을 쓰지만, 아직 모르는 부분이 많은 것 같다. 우선 this를 쉽게 정리하면 "나를 불러온 객체가 이것이다"를 의미한다. 그러니까 this는 누가, 어떤 상황에서 불렀느냐에 따라 달라지는데 이때문에 헛갈리기 시작한다. 상황에 따라 달라진다는 것을 다음 두 상황에서 확인할 수 있다. ① 브라우저에서 this를 출력했을때와 ② node에서 this 출력했을때를 비교해보자. 위에서 보듯, 브라우저에서 출력한 this는 window라는 객체를 보여주고, node로 실행한 this는 빈 객체인 {}를 반환했다. 어떤 상황이냐에 따라 달라진다는 것은, 누가 나를 불러냈냐에 따라 다른데, 전역문맥이 다르기 때문이다..

Javascript/Basics 2023.04.08

Hoisting, 호이스팅

예전 회사에서 공장에 실사를 가면 호이스트를 많이 봤다. H빔에 연결된 도르레와 모터, 윈치... 물건을 들어 올리고 옮기는 데 사용하는 그 호이스트. 오늘 자바스크립트에서 호이스팅이라는 개념을 공부했다. 끌어 올린다는 뜻의 호이스트, 호이스팅은 JS가 브라우저나 node 같은 인터프리터에서 실행될 때, 어떤 순서로 변수를 선언하고 실행하느냐를 이해하는데 중요한 개념이다. function a () { console.log(b); var b = 'bbb'; console.log(b); function b() { } console.log(b); } a(); 위의 함수를 생각해보면, 처음 console.log(b)를 실행하면 b가 정의되지 않았으니, undefined가 출력이 되고, 그다음 b를 'bbb'로 ..

Javascript/Basics 2023.04.08

객체(Object) 다루기

배운 것 자바스크립트에서 객체는 python의 dictionary와 class 둘 다를 포괄하는 개념으로 이해했다. 오늘은 dictionary 같은 자료형으로서의 객체를 다루는 방법에 대해서 정리해 본다. 1. 객체(Object) 만들기 객체는 {propertyName: propertyValue}로 이뤄져 있다. 일단 this 를 쓰지 않고도 객체를 dictionary 처럼 만들 수 있다. this를 쓰는건 class형태로서의 Object를 정리할 때 볼 것 예를 들어, 아래와 같이 person이라는 객체를 만들 수 있다. let person = { name: 'Hong', age: 10, gender: "Male", } 그런데 자바스크립트는 loosely-typed language 라고 하지 않는가, ..

Javascript/Basics 2023.04.03

배열(Array) 다루기

배운 것 1. 배열(Array) 요소 다루기 1.1. push 배열 끝에 하나 이상의 요소를 추가 const arr = [1, 2, 3]; arr.push(4, 5); console.log(arr); // [1, 2, 3, 4, 5] 1.2. pop 배열의 마지막 요소를 제거하고 반환(return) shift와 unshift로 할거면 push랑 pull로 하지 const arr = [1, 2, 3]; const last = arr.pop(); console.log(last); // 3 console.log(arr); // [1, 2] 1.3. shift 배열의 첫 번째 요소를 제거하고 반환(return) const arr = [1, 2, 3]; const first = arr.shift(); consol..

Javascript/Basics 2023.04.01

데이터 타입

배운 것 1. 데이터 타입 JS에는 원시형과 객체가 있다. 1.1. 원시형(Primitive values) 원시형은 불변(immutable) 타입이다. 원시형에는 boolean, null, undefined, number, string, symbol 이 있다. boolean 타입 true와 false 두개만 있다. (왜 불린...으로 쓰고, 읽는 사람이 있는지 잘 모르겠다. 불리언 아닌가?) null 타입은 null 만 있고, undefined도 undefined만 있다. number는 -(2^53 − 1)부터 2^53 − 1까지의 수를 가진다. 왜냐면, 링크(64비트를 쓰는데, 부호에 1개, exponent에 11개, 나머지는 숫자로 한다는 약속). 그리고 +Infinity와 -Infinity, NaN..

Javascript/Basics 2023.04.01
728x90