Web
-
새로운 객체 기능Web/자바스크립트 2023. 4. 15. 17:46
아래 내용은 웹 개발자를 위한 자바스크립트의 모든 것 5장을 읽고 정리한 내용입니다. 계산 된 속성 이름 이미 제공하던 기능을 좀 더 쉽게 제공하는 것으로, 속성 명을 지정된 이름이 아닌 연산으로 나온 결과로 생성하는 기능. 별거 아닌 것 같지만, spread 연산자와 함께 쓸 경우 좀 더 간편하게 작성될 수 있어서 좋다. 예제의 calc 같은 변수 또한 실제로는 생성한다기 보다는 선택된 값을 사용하는 경우가 더 많을 것 같다. let calc = 2 + 3; let obj = { [calc] : 4 } 단축 속성 불 필요한 타이핑을 줄일 수 있는 방식인데, 한 편으로는 이 값이 이 값이 맞나 하는 오해가 생기는 때도 있다. 물론 그런 오해로 안 쓰기에는 너무도 편하고 오타를 줄일 수 있는 방법이다. l..
-
Day 5. Are they the "same"? [6kyu]Web/자바스크립트 2023. 3. 5. 20:42
두 개의 배열이 주어졌을 때, 첫 번째 배열의 숫자를 제곱한 값이 두 번째 배열의 숫자가 맞을 경우 true를 반환하는 로직 제약사항 1. 동일한 숫자가 있을 경우, 제곱 값도 동일한 갯수만큼 두 번째 배열에도 존재해야 함 2. null 이나 undefined 등등 정상적인 값이 들어오지 않을 경우 바로 false를 반환 내 답안 배열 두 개를 정렬해서 for 문을 돌면서 하나라도 다른 값이 나오면 바로 false를 반환하도록 함 function comp(array1, array2) { if(!array1 || !array2) return false; const compare = (a, b) => a - b; array1 = array1.sort(compare); array2 = array2.sort(c..
-
Javascript 클래스Web/자바스크립트 2023. 3. 4. 17:54
아래 내용은 웹 개발자를 위한 자바스크립트의 모든 것 4장을 읽고 정리한 내용입니다. 클래스란 무엇인가? 언어가 클래스를 갖는다는 것은 “캡슐화”와 “상속”을 제공해야 한다. 클래스 “기반” 언어와 언어가 클래스를 “갖는다”는 것은 다른 의미에서 이해되어야 하며, 자바스크립트는 ES6부터는 어떠한 논쟁 없이 클래스를 갖는다고 할 수 있게 되었다. ▸ 이번 장은 정말 처음부터 끝까지 읽기 힘들었지만, 정말 몰랐던 사실이라 무척 재밌게 읽을 수 있었다. 기본적인 클래스 선언 구조를 보면 아래와 같다. c++, c#, java 등 다른 클래스 기반 언어로 개발을 했다면 무척이나 익숙한 구조의 클래스 문이다. 심지어 static (정적 메서드)까지 지원할 수 있는 클래스가 생겼을 줄 몰랐다! 기존에는 proto..
-
화살표 함수Web/자바스크립트 2023. 2. 11. 15:13
아래 내용은 웹 개발자를 위한 자바스크립트의 모든 것 3장을 읽고 정리한 내용입니다. 함수 전반에 대해 설명하는데 이미 알고 있는 내용은 읽고 넘겼고, 화살표 함수에 대한 부분은 기존의 몰랐던 부분과 애매하게 아는 것을 별도 정리를 함 개요 ES2015에서 추가된 함수를 표현하는 문법 // ES5 var data = array.map(function(item) { return item.value); }); // ES6 var data = array.map(item => item.value); 기본적으로 게으른 개발자들을 위해 심플하게 함수를 심플하게 표현할 수 있게 되었다. 구문의 구조는 아래와 같다. Parameter => Return 값 parameter 혹은 return 값을 여러 개 쓰고 싶을 경..
-
let 과 constWeb/자바스크립트 2023. 2. 6. 13:57
아래 내용은 웹 개발자를 위한 자바스크립트의 모든 것 2장을 읽고 정리한 내용입니다. let과 const 란 ? var와 마찬가지로 변수를 선언하는 방식 let 초기화 필요없이 사용 가능하며, 기본 값이 undefined. let a; let b = 'let example'; const 초기화 필요하며, 기본 값이 없음. 기본 값 미 설정 시 에러 발생 const a = 'const example'; const b; // Uncaught SyntaxError: Missing initializer in const declaration 블록 스코프와 선언 var 선언 위치와 별개로 어디에서도 사용 가능하며, 반복된 선언 가능 var test = 'abc'; var test = 3; // 가능 let, con..