목록javascript (5)
Pko
Strict mode 자바 스크립트는 초보 개발자에게 쉬운 것이 되도록 설계되었으며, 때로는 오류를 일으킬만한 동작을 에러없이 동작한다. 그렇기 때문에 일부는 즉각적인 문제를 해결 할수 있지만, 일부는 더 심각한 문제를 발생기키게 된다. 이러한 상태를 공식적인 명칭은 아니지만 "느슨한 모드(sloppy mode)"라 불린다. 엄격한 모드는 이러한 실수를 오류로 처리해서 그것을 발견하고 즉시 고칠 수 있도록 오류를 발생시키게 되는 것이다. "엄격한 모드"(Strict mode) 라 불리며 JavaScript의 ES5 이전의 암묵적인 "느슨한 모드(sloppy mode)" 를 해제하기 위한 방법이다 엄격한 모드는 구문과 런타임 동작을 모두 변경하며 여러가지의 상황이 바뀌게 된다. 변환 실수를 오류로 해석하거..
Array 우선 배열(array)은 같은 타입의 변수들로 이루어진 유한 집합으로 정의되고 배열을 구성하는 값을 배열요소(element), 배열에서의 위치를 가리키는 인덱스(index)를 가진다. Array객체는 배열의 프로토타입으로 탐색과 변형 작업을 수행하는 메서드를 갖는, 리스트와 비슷한 객체이다 특히 JavaScript에서 배열의 길이와 요소의 자료형은 고정되어 있지 않다. 배열의 길이가 언제든지 늘어나거나 줄어들 수 있기 때문에 JavaScript 배열들은 밀집도가 보장되지 않는다. 그렇기 때문에 흔히 Array 생성, element 수정, element 삭제 등의 작업을 위해 반복문, Array객체 내부 메서드를 사용하는데 있어 주의가 필요하다. 여기서는 Array객체가 소유한 메서드를 사용하는..
호이스팅 ( Hosisting ) 호이스팅(hoisting)은 ECMAScript® 2015 언어 명세 이후로 사용된 용어이다. JavaScript에서 실행 콘텍스트(특히 생성 및 실행 단계)가 어떻게 동작하는가에 대한 설명이다. 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위의 최상단에 선언한다. 해당 함수를 확인하고 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다. 즉, 함수 내에서 사용되는 변수/함수 선언 정보를 다른 코드보다 우선적으로 선언함으로서 변수/함수를 사용하는데 문제가 없도록 하기 위한 작업으로 볼수 있다. 실제로 코드가 끌어올려지는 건 아니며, 자바스크립트 Parser 내부적으로 끌어올려서 처리하는 것 임으로 실제 메모리에..
클로저 (closure) 클로저(closure)는 자바스크립트에서 중요한 개념 중 하나로 MDN 공식문서를 참고하면 아래와 같이 설명하고 있다. "함수와 함수가 선언된 어휘적(lexical) 환경의 조합을 말한다. 이 환경은 클로저가 생성된 시점의 유효 범위 내에 있는 모든 지역 변수로 구성된다." 물론 클로저는 자바스크립트만의 고유의 개념은 아니고 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어(Functional Programming language: 얼랭(Erlnag), 스칼라(Scala), 하스켈(Haskell), 리스프(Lisp)…)에서 사용되는 중요한 특성이다. 클로저를 이해하기 앞서서 "함수와 함수가 선언된 어휘적(lexical) 환경의 조합을 말한다" 이 말만 가지고는 클로저가 무었인지..
- 원시 자료형 원시 자료형은 모두 "하나"의 정보, 즉, 데이터를 담는 자료형 데이터 저장소(메모리)의 용량이 제한되어 변수 하나에 데이터 용량이 제한된 하나의 원시 자료형만을 담는다. 변수는 새로운 값을 다시 할당할 수 있지만, 이미 생성한 원시 값은 객체, 배열, 함수와는 달리 변형할 수 없다. 원시 자료형은 아래와 같이 7가지 종류를 가진다. string, number (en-US), bigint (en-US), boolean, undefined, symbol , null - 참조 자료형 ( Symbol 타입 ) 자바스크립트에서 원시 자료형이 아닌 모든 것은 참조 자료형이라 하고 배열, 객체, 함수가 대표적이다. Symbol은 유일하고 변경 불가능한 기본값이다. 또한, 객체 속성의 key 값으로도..