JavaScript Generator 함수에 실행을 중간에 멈췄다가 재개할 수 있는 독특한 기능을 한다. function옆에 *을 써서 만들고 함수 내부에 yield 키워드를 사용한다. yield키워드로 함수를 멈출 수 있다. next 키워드로 사용되고, next를 사용하기 전까지 함수 내부의 코드는 실행되지 않는다. next를...
JavaScript 19장 - 개념짚기 (13)
JavaScript 18장 - 개념짚기 (12)
JavaScript promise const pr = new Promise((resolve, reject) => { // 실행코드 }); 우리가 어떤 것을 주문했을 때, 그것이 완료되기까지 시간이 걸리고 완료 후 주문자에게 완료되는 것을 전달하는 것을 promise라고 부른다. 성공했을 때와 실패했을 때가 나뉘며, 어떤 일이 ...
JavaScript 17장 - 개념짚기 (11)
JavaScript 상속, prototype Java,C언어는 클래스 기반의 객체 지향 프로그래밍 언어이지만, JavaScript는 프로토타입 기반 언어이다. 클래스 기반 객체 지향 언어는 객체 생성 이전에 클래스를 정의하고 이를 통해 객체를 생성하지만, 프로토타입 기반 객체 지향 언어는 클래스 없이도 객체를 생성할 수 있다. 자바스크...
JavaScript 16장 - 개념짚기 (10)
JavaScript setTimeout / clearTimeout 정해진 시간 후에 코드를 실행하는 함수다. 인수가 필요한 경우 3번째 인자로 넘겨준다. clearTimeout은 예정된 작업을 없앤다. setTimeout은 타임 아이디를 반환하는데, clearTimeout에 타임 아이디를 넘겨주면 예정된 스케쥴을 취소할 수 있다. ...
JavaScript 15장 - 개념짚기 (9)
JavaScript 매개변수 함수에 인수를 전달하는 방법은, arguments를 전달하는 방법과 나머지 매개변수를 사용하는 방법이 있다. 과거에는 arguments만 사용할 수 있었고 화살표 함수에는 arguments만 사용할 수 있다. ES6로 넘어오며 나머지 매개변수를 사용할 수 있게 됐다. arguments는 함수로 넘어 온 ...
JavaScript 14장 - 개념짚기 (8)
JavaScript 배열 sort 배열을 재정렬하며, 배열 자체가 변경되니 주의해야 한다. 숫자를 가진 배열을 정렬한다고 해도 문자로 취급되어 정렬하기 때문에, 13,27,5,8 이라는 숫자가 있을 때, 1과 2를 가진 13과 27이 앞에 오게 된다. 따라서, 제대로 된 정렬을 해주고 싶을 때는 인수로 비교할 수 있는 정렬 로직을 담...
JavaScript 13장 - 개념짚기 (7)
JavaScript 배열 splice(n,m) n부터 m개만큼 특정 요소를 지운다. 세 번째 인수는 옵션이지만 특정 요소를 추가할 때 사용할 수 있다. let str = ["a", "b", "c", "d", "e", "f"]; str.splice(0, 1); // bcdef let arr = [1, 2, 3, 4, 5]; arr.s...
JavaScript 12장 - 개념짚기 (6)
JavaScript String 백틱은 여러 줄을 표현하는 것이 가능하다. 따옴표로 줄바꿈을 표현하기 위해서는 역슬래시 n을 써야한다. \n let str = `예시를 보여주기 위한 백틱입니다.`; let str2 = "예시를 보여주기 \n위한 백틱입니다."; indexOf(text) 특정 문...
JavaScript 11장 - 개념짚기 (5)
JavaScript Symbol 객체의 key는 기본적으로 문자형으로 만들어진다. {1: "1입니다.", false: "거짓"} 이런 식으로 숫자형과 블린형으로 만들어도 Object.keys(obj)로 출력해보면 ["1", "false"]와 같은 코드가 출력되는데, 실제로 접근할 때도 obj["1"], obj["false"]와 같이 문자형...
JavaScript 10장 - 개념짚기 (4)
JavaScript 생성자 함수 장바구니 등의 기능을 만들 때 여러 개의 객체를 반복해서 만들어야 하는 경우가 있는데 이때, 생성자 함수를 사용할 수 있다. 함수의 첫 글자는 대문자로 작성하고 new 연산자를 사용해서 호출한다. 생성자 함수는 빈 객체인 this를 생성하고, 이 객체 안에 프로퍼티를 추가한 후 생성된 객체를 리턴한다. ...