본문 바로가기

자바스크립트3

[JavaScript] Array.from 클로저에 관해 공부를 하다가 예제에서 Array.from 이라는 코드를 알게되었다. 공부도 하고 복습도 하고 정리도 할겸 포스팅을 해보려고한다. Array.from( {length : 20}, () => Array(10).fill(0) ); 대충 20x10 짜리 2차원 배열을 리턴하겠구나 정도는 파악 할 수 있었지만 생소한 표현법이라 어떻게 동작하는지 한번 알아보자 Array.from 은 유사 배열 객체를 배열로 바꾸는 데 자주 사용했었다. MDN에서 나와있는 예시로는 다음과 같다. 1. Array.from('Tei'); // ['T','e','i'] 2. Array.from([1,2,3], x => x + x ); // [2,4,6] 1번의 예시는 눈에 익는 예시이다. 문자열을 인자로 받아 이를 배열로.. 2022. 3. 25.
[JavaScript] 클로저 정리 ※ 본 게시글은 모던자바스크립트 deep dive를 보고 정리한 내용입니다. 틀린 내용이 있다면 댓글로 적어주시면 감사드리겠습니다 (__) 클로저에 대해 공부하고 클로저에 대해 간단히 설명을 해보자면 둘러싸여진 상태의 참조와 함께 다발로 묶여진 함수의 콤비네이션 내부함수로부터 외부함수의 접근 권한을 줌 함수 생성 시점에 언제나 생김 작성한 글을 쭉 읽어보면 무슨 말을 하고 싶은 건지 대강 이해가 될것이다. 렉시컬 스코프 함수를 어디에 정의했는지에 따라 상위 스코프를 결정 -> 렉시컬(정적) 스코프 렉시컬 환경의 '외부 렉시컬 환경에 대한 참조' 에 저장할 참고값, 즉 상위 스코프에 대한 참조는 함수 정의가 평가되는 시점에 함수가 정의된 환경에 의해 결정된다. 이것이 바로 렉시컬 스코프이다. 함수 객체의 .. 2022. 3. 25.
[ES6] const, let, var 차이점 알아보기 1. var 자바스크립트 ES5 버전까지의 변수 선언 방식 ( 요즘은 사용하지 않는걸 추천한다) 특징 1. var 키워드는 생략이 가능하다. (var) a = 29; console.log(a); //29 2. 재선언과 재할당이 가능하다. var a = 10; console.log(a); // 10 var a = 42; console.log(a); // 42 a = 12312; console.log(a); //12312 3. 함수 레벨 스코프이다. 자바스크립트는 블록레벨 스코프를 사용하는 java나 C와 다르게 함수레벨 스코프이다. 함수레벨 스코프(function level scope) 란 함수 안에서 사용하면 함수 밖을 제외한 내부 어디서든 접근이 가능하고 함수 외부에서 선언된 모든 변수는 전역 변수로 .. 2022. 3. 2.