본문 바로가기

JavaScript/Modern JavaScript

(33)
[JavaScript] sort/ reverse 메소드 [sort 메소드] 배열에서는 sort 라는 메소드를 활용해 배열을 정렬할 수 있다. sort 메소드에 아무런 아규먼트도 전달하지 않을때는 기본적으로 유니코드에 따라 정렬된다. const letters = ['D', 'C', 'E', 'B', 'A']; const numbers = [1, 10, 4, 21, 36000]; letters.sort(); numbers.sort(); console.log(letters); // (5) ["A", "B", "C", "D", "E"] console.log(numbers); // (5) [1, 10, 21, 36000, 4] 그렇기 때문에 위처럼 상식적으로 우리가 생각하는 정렬과 다를 수 있는데, 그럴때는 sort 메소드에 다음과 같은 콜백함수를 아규먼트로 작성해주..
[JavaScript] Arrow Function [일반 함수 표현] 다음 코드를 실행하면, const getTwice = function(number) { return number * 2; }; console.log(getTwice(5)); const myBtn = document.querySelector('#myBtn'); myBtn.addEventListener('click', function () { console.log('button is clicked!'); }); 10 이 출력된다. [Arrow Function 표현] const getTwice = (number) => { return number * 2; }; console.log(getTwice(5)); const myBtn = document.querySelector('#myBtn');..
[JavaScript] 구조 분해 Destructuring (함수) function getArray() { return ['컴퓨터', '냉장고', '세탁기']; } const [el1, el2, el3] = getArray(); console.log(el1); // 컴퓨터 console.log(el2); // 냉장고 console.log(el3); // 세탁기 // Array Destructuring const members = ['코딩하는효준', '글쓰는유나', undefined, '편집하는민환', '촬영하는재하']; const [macbook, ipad, airpod = '녹음하는규식', ...coupon] = members; console.log(macbook); // 코딩하는효준 console.log(ipad); // 글쓰는유나 console.log(airpod)..
[JavaScript] 구조 분해 Destructuring (객체) [Desturcturing 문법] const macbook = { title: '맥북 프로 16형', price: 3690000, memory: '16GB', storage: '1TB SSD 저장 장치', display: '16형 Retina 디스플레이', }; const title = macbook.title; const price = macbook.price; console.log(title); // 맥북 프로 16형 console.log(price); // 3690000 보통 객체를 다룰때 점 표기법을 이용하여 이처럼 변수에 값을 할당함. const macbook = { title: '맥북 프로 16형', price: 3690000, memory: '16GB', storage: '1TB SSD 저장..
[JavaScript] 구조 분해 Destructuring (배열) [Destructuring 문법] 배열과 같이 내부에 여러가지 값을 갖고있는 데이터 타입을 다룰 때, 배열의 요소나 객체의 프로퍼티 값을 개별적인 변수에 할당해 다룰 수 있는 문법 const rank = ['철수', '짱구', '훈이', '맹구'] // 배열 const macbook = rank[0]; const ipad = rank[1]; const airpods = rank[2]; const coupon = rank[3]; console.log(macbook); // 철수 console.log(ipad); // 짱구 console.log(airpods); // 훈이 console.log(coupon); // 맹구 상품 이름으로 만든 변수에 배열의 요소를 순서대로 할당하면, 랭크 순위가 변동되어도 자연..
[JavaScript] 모던한 프로퍼티 표기법 객체의 프로퍼티를 표현할때 보통 다음과 같이 표기함. const user = { title: 'Codeit', birth: 2017, job: '프로그래밍 강사' } 이처럼 변수에 할당된 값을 이용해 다음과 같이 프로퍼티를 만들 수도 있는데, const title = 'Codeit'; const birth = 2017; const job = '프로그래밍 강사'; const user = { title: title, birth: birth, job: job, }; 변수의 이름과 프로퍼티 네임이 똑같으면 다음처럼 하나만 표현하는 방식이 가능함. const title = 'Codeit'; const birth = 2017; const job = '프로그래밍 강사' const user = { title, birt..
[JavaScript] 객체 Spread [객체 Spread] const codeit = { name: 'codeit', }; const codeitClone = { ...codeit, // spread 문법! }; console.log(codeit); // {name: "codeit"} console.log(codeitClone); // {name: "codeit"} 중괄호 안에서 객체를 spread 하게되면, 해당 객체의 프로퍼티들이 펼쳐지면서 객체를 복사할 수가 있음. const latte = { esspresso: '30ml', milk: '150ml' }; const cafeMocha = { ...latte, chocolate: '20ml', } console.log(latte); // {esspresso: "30ml", milk: "..
[JavaScript] Spread 구문 [Spread 구문] 하나로 묶여있는 값을 각각의 개별값으로 펼쳐주는 구문. const numbers = [1, 2, 3]; console.log(numbers); // [1, 2, 3] console.log(...numbers); // 1 2 3 console.log(1, 2, 3); // 1 2 3 [Spread 구문의 사용] 1. 배열 복사 const webPublishing = ['HTML', 'CSS']; const interactiveWeb = webPublishing; interactiveWeb.push('JavaScript') console.log(webPublishing); // [ 'HTML', 'CSS', 'JavaScript' ] console.log(interactiveWeb); ..