이 글은 Javascript 내용을 복습하는 차원에서 작성되었습니다.Javascript 라는 언어에 입문한지도 어느덧 한 달이라는 시간이 흘렀다.그간 여러가지 기능들을 구현하면서 나름대로 JS를 잘 쓰고 있다 생각했지만문법과 관련된 내용을 종종 잊는 경우가 많아, 확실
📖 Before Start > 이 글은 Javascript 내용을 복습하는 차원에서 작성되었습니다. JS를 기반으로 코드를 작성하다 보면 논리 연산자를 사용할 때가 많다. 하지만 다른 언어와 차별된 내용들이 제법 있어 혼선을 빚을 때가 있다. 따라서 이를 명료하게
var 키워드로 선언된 변수는 Functional Scope에 종속된다.따라서 함수 내에서 선언된 var 의 경우, 함수를 벗어날 경우 스코프를 벗어나 사용이 불가능해진다.var 키워드로 선언된 변수는 언제든지 재선언이 가능하다.let / const 키워드로 선언된 변
ES6에서 새롭게 등장한 함수 선언 방식이다.기존의 함수 선언 방식과는 다르게 명시적인 반환을 생략할 수 있다.화살표 함수는 익명 함수이며, 참조할 이름이 필요할 경우 변수에 할당할 수 있다.매개변수가 1개가 있을 경우에만 소괄호 생략이 가능하며, 그 외에는 생략이 불
기본적으로 JS에서는 함수의 인자의 기본값을 undefined 로 설정한다. (호이스팅)ES6 이전에는 함수의 인자를 각각 조건문으로 파악하여 값이 할당되지 않은 인자를 파악해야 했다.ES6 부터는 함수의 파라미터에 기본값을 쉽게 지정할 수 있다.기본값을 설정하려는 파
ES5 까지는 문자열을 삽입하기 위해 + 연산자를 주로 사용했다.ES6 부터는 백틱 \`\`\` 을 사용하여 쉽게 문자열을 삽입할 수 있다.ES5 까지는 문자열의 각 행마다 백슬래시 \\ 를 삽입해야 했다.ES6 부터는 백틱 \`\`\` 을 사용하여 문자열 전체를 감싸
인자로 받은 값이 문자열에서 처음 나타나는 인덱스를 return 한다.만약 문자열 내에서 값을 찾지 못했을 경우, -1 을 return 한다.두 인덱스를 매개변수로 받아, 해당 인덱스 사이에 위치한 문자열을 잘라 return 한다.기존의 문자열은 변형시키지 않는다.두
배열의 값, 혹은 객체의 프로퍼티를 풀어서 개별적인 변수에 할당시키는 것이다.
일반적으로 배열을 순회하는 방법은 아래의 방법들이 있다.for 문, Array.prototype.forEach 함수을 활용하면 배열의 요소를 순회할 수 있다.ES6에서 추가된 for - of 문은 반복 가능한 객체 (Iterable) 를 순회하게 해준다.즉, \[Sym
유사 배열 객체 (Array-like Object) 나 Iterable한 객체를 얕게 복사함.이후 이를 기반으로 새로운 Array 객체를 생성하여 반환한다.arrayLike 는 배열로 반환하고자 하는 유사 배열 객체 혹은 Iterable 객체mapFn 은 새롭게 배열을
Iterable 한 객체를 0개 이상의 인수, 혹은 요소로 확장시키는 문법문자열, 배열, 객체 등을 Spread Operator (...) 로 전개시킬 수 있다.Spread Operator (...) 를 사용하여 만들어진 배열의 경우, 새로운 배열을 반환한다.배열의 각
객체 생성 이전에 식별자를 제공할 경우 이를 프로퍼티 이름으로 지정한다. 이후 해당 식별자를 프로퍼티 값을 가져올 위치를 식별하는데 모두 사용한다.특정 변수의 이름과 값을 key, value로 가지는 객체를 만들 수 있다.굳이 프로퍼티에 대한 값을 적지 않고, 속성의
Symbol은 항상 고유한 값이며, 주로 객체 속성의 식별자로서 사용된다.Symbol은 JS에서 지원하는 윈시형 타입 (primitive) 이며, 수정이 불가능하다.심벌의 경우 Symbol() 함수를 통해 생성할 수 있다.함수 호출 시 인자로 받는 문자열의 경우, 생성
JS는 기본적으로 prototype 기반의 상속 방식을 채택해왔다.Class 문법은 이를 기반으로 한 객체 지향 언어 관련 기능을 지원한다.JS에서는 클래스 선언과 클래스 표현식을 활용하여 클래스를 생성할 수 있다.단, 클래스 선언 및 표현식의 경우 호이스팅되지 않는다
JS는 기본적으로 오직 하나의 스레드만을 사용하여 프로세스를 진행시킨다.따라서 코드가 순차적으로 실행되며, 위에서 코드가 막힐 경우 진행이 불가하다.하지만 Node.js나 브라우저에서 비동기 작업을 위한 여러 보조를 진행해준다.비동기 (Asyncronous) 란?요청과
자료형과 관계 없이 모든 원시 값과 참조된 객체를 유일하게 저장할 수 있다.만약 중복된 값이나 같은 주소를 참조하는 객체를 넣는다면, 하나를 제외하고 전부 누락시킨다.NaN 과 undefined 도 Set에 저장할 수 있다.Set.prototype.add(value)기
배열에 인자로 받은 원소가 있다면 true를, 없다면 false를 반환한다.두번째 인자로 검색을 시작할 인덱스를 지정할 수 있으며, 음의 인덱스도 가능하다.ES2016 이전에는 지수 계산을 위해 Math.pow 메서드를 사용했었다.하지만 \*\* 연산자를 통해 지수 연
기존의 Promise 문법을 async, await 키워드를 사용하여 보다 편리하게 사용할 수 있다.async 키워드는 항상 함수 앞에 붙으며, 해당 키워드가 붙은 함수는 항상 Promise를 반환합니다.만약 기존에 Promise를 반환하지 않았던 함수이더라도, 이행
객체의 경우에도 내부의 속성 값을 스프레드 연산자를 통해 확장시킬 수 있음.나머지 연산자의 경우에도 객체에서 충분히 사용될 수 있다.비동기 이터레이터를 사용할 경우, 비동기적으로 들어오는 데이터를 필요에 따라 처리할 수 있다.일반적인 iterable 객체에서는 \[Sy