2024/06 4

모던 자바스크립트 - 배열(2)

1. 배열 메서드배열 메서드 중에 간혹 원본 배열을 직접 변경하는 경우가 존재할 수 있으므로 조심하자. 예를들어 array.push(3) 이런 경우 원본 배열을 수정해버린다.Array.isArray전돨된 인수가 배열이면 true, 배열이 아니면 false를 반환한다.// falseArray.isArray();//trueArray.isArray([]);Array.prototype.indexOfconst arr = [1, 2, 3];// 배열 arr에서 요소 2를 검색하여 첫 번째로 검색된 요소의 인덱스를 반환한다.arr.indexOf(2); // 1//없으면 -1을 반환한다.arr.indexOF(4); // -1 indexOf보다 includes가 가독성이 좋으니깐 자주 사용하자.const foods = ..

모던 자바스크립트 - 배열(1)

1. 배열이란?배열은 여러 개의 값을 순차적으로 나열한 구조이다.const a = ['반원재', '이규리']; 배열이 가지고 있는 값을 요소(element)라고 한다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0 이상의 정수인 인덱스를 가진다. 인덱스는 0부터 시작된다. a[0]; //'반원재'a[1]; //'이규리' 배열은 배열의 길이를 나타내는 length 프로퍼티를 가진다. a.length; // 2 배열은 객체 타입이다. 하지만 객체와의 결정적인 차이가 존재하는데 바로 배열은 값의 순서가 존재하고. length 프로퍼티를 사용할 수 있다는 점이다. 즉, 배열의 장점은 처음부터 순차적으로 요소에 접근이 가능하다는 장점이 있다. 2. 자바스크립트 배열은 일반적인 배열의 개념이 아니다! 우리가 알..

모던 자바스크립트 - 클래스(2)

1. 클래스의 인스턴스 생성과정인스턴스 생성과 this 바인딩: 암묵적으로 빈 객체가 생성되고 이 빈 객체가 바로 인스턴스가 된다. 인스턴스는 this에 바인딩 된다.인스턴스 초기화: constructor 내부의 코드가 실행되어 this에 바인딩 되어 있는 인스턴스를 초기화한다.인스턴스 반환: 완성된 인스턴스가 바인딩된 this가 암묵적으로 반환된다.2. 프로퍼티인스턴스 프로퍼티: constructor 내부에서 정의해야한다. 앞에서 설명했으니 넘어간다.접근자 프로퍼티: 값이 존재하지 않고 다른 프로퍼티의 값을 읽거나 저장할 때 사용하는 접근자 함수(getter, setter)로 구성된 프로퍼티다.class Person { constructor(firstName, lastName) { this.fi..

모던 자바스크립트 - 클래스(1)

1. 기존 ES5에서는 생성자 함수와 프로토타입을 통해 객체지향 언어의 상속을 구현이 가능했다.var person = (function() { // 생성자 함수 function Person(name) { this.name = name; } //프로토타입 메서드 Person.prototype.sayHi = function () { console.log('hihi'); } return Person;}());var me = new Person('Lee');me.sayHi(); ES6에 도입된 클래스로 새로운 객체 생성 메커니즘이 등장하였다. 2. 클래스 정의 : 기존의 방식과 거의 유사하다.// 클래스 선언문Class Person { //생성자 con..