Javascript
-
[JavaScript] SetJavascript 2022. 5. 8. 14:08
JavaScript에서 Set은 집합 개념이다. 중복을 허용하지 않고, 정렬되지 않은 항목들의 그룹이다. 따라서 정의에 맞게 항목의 유일성을 확인하는 것이다. Set 생성 const set1 = new Set([1,2,3]) const set2 = new Set('123') console.log(set1) console.log(set2) Set 객체의 생성자를 이용해서 집합을 생성할 수 있다. 이때 인자로는 iterable(배열, 맵, 집합, 문자열 등) 을 받는다. set1은 배열을 이용하고, set2는 문자열을 이용하여 집합을 생성했다. 인자를 넣지 않으면 크기가 0인 빈 집합이 생성된다. Set 삽입과 삭제 const set1 = new Set([1,2,3]) set1.add(3) set1.add(..
-
[TypeScript] TypeScriptJavascript 2022. 3. 22. 23:43
TypeScript 사용 목적 TypeScript는 Object의 타입을 명시할 수 있다. JavaScript를 사용하기 전에 있을만한 타입 에러들을 미리 잡기 위해서 사용한다. 개발도구에게 개발자가 의도한 변수나 함수등의 목적을 더욱 명확하게 전달이 가능하다. JavaScript로 만든 프로젝트 규모가 커질수록 코드가 복잡해짐과 동시에, 디버깅과 테스트 공수가 증가하는 문제가 있는 단점을 극복하고자 TypeScript를 사용한다. TypeScript 장단점 장점 JavaScirpt의 상위 집합이다. ECMAScript의 가장 최신 업데이트를 빠르게 반영한다. JavaScript와 동일하게 브라우저의 엔진을 지원한다. 여러가지 패러다임을 활용할 수 있다. 절차 지향 객체 지향 함수형 단점 초반 세팅이 불..
-
[JavaScript] 동등연산자와 일치연산자Javascript 2022. 3. 18. 17:36
어제 면접을 보고 질문에서 동등연산자와 일치연산자 관련된 질문을 받았다. 이게 어떤건지는 아는데 뭔가 설명이 부족한 느낌이 들어서 정리를 해보면서 좀 더 자세하게 알아보려고한다. 동등연산자 "=="와 같이 =가 2개 있는 것으로 영어로는 Equality operator라고 한다. 동등연산자로 피연산자를 비교할 때는 JavaScript 엔진에 의해서 암묵적인 타입 변환이 먼저 이루어지는데, 좌항과 우항이 타입이 다르더라도 값이 같으면 true로 반환한다. const a = 1 const b = '1' console.log(a == b) //true 동등연산자를 사용하면 타입을 변환하여 비교하는 과정에서 의도치 않게 동작해서 위와 같은 결과값을 출력해낸다. 하지만 null을 체크할때는 동등연산자를 유용하게 ..
-
[JavaScript] Math 함수 모음Javascript 2022. 3. 14. 16:06
Math Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 JavaScript 표준 내장 객체다. 생성자가 없어서 따로 인스턴트를 생성하지 않아도 Math객체의 모든 메서드가 프로퍼티를 사용할 수 있다. Math.min 가장 작은 값 변환 Math.max 가장 큰 값 변환 Math.random 0보다 크거나 같고 1보다 작은 무작위 숫자 변환 Math.round 소수점 첫 번째 자리에서 반올림 후 반환 Math.floor 인수와 같거나 작은 수 중에서 가장 큰 정수 반환 Math.ceil 인수와 같거나 큰 수 중에서 가장 작은 정수 반환 Math.abs x의 절댓값 반환 Math.sqrt x의 제곱근 반환 Math.cbrt x의 세제곱근 반환 Math.exp e의 x제곱근 값을 반..
-
[JavaScript] split과 parseIntJavascript 2022. 3. 11. 16:52
.split() 문자열을 분열하는 메서드 string.split( separator, limit ) separator는 분할의 기준을 넣는다. 쉼표를 기준으로 분할을 할 때는 ' , '를 해준다. limit은 최대 분할 개수를 정한다. 필수는 아니고, 값을 정하지 않으면 전체를 분할한다. 출처: https://www.codingfactory.net/10424 parseInt() 문자열을 정수로 바꾸는 함수 parseInt( string, n ) string을 n진법일 때의 값으로 바꾼다. n은 옵션으로 2부터 36까지 입력할 수 있다. 입력하지 않으면 10으로 처리한다. 소수 부분은 버린다. 0x로 시작하면 16진법으로 처리한다. 출처: https://www.codingfactory.net/11026
-
JavaScript 소수점 계산 오류와 해결Javascript 2022. 2. 23. 10:10
컴퓨터는 기본적으로 0과 1만 사용하는 2진법을 사용한다. 보통 우리가 계산을 할 떄는 10진법을 사용하는데, 이 과정에서 10진법을 2진법으로 변환을 시켜줘야 한다. 하지만 이 과정에서 소수 일부중에는 무한소수가 된다. 그래서 컴퓨터의 메모리 한계가 있기 때문에 무한 소수를 다 담지 못하고 중간에 잘려서 유한 소수로 저장을한다. 이러한 아래와 같은 메서드로 문제를 해결을 할 수 있다. toFixed() 입력받은 숫자를 배개변수만큼 반올림하여 String으로 반환해주는 함수이다. toFixed()는 0부터 20까지 매개변수로 입력할 수 있고, 매개변수 숫자에 따라서 반올림을 해준다. Default값은 0이기 떄문에 매개변수를 담지 않으면 소수를 정수로 나타낸다. 하지만 toFixed()는 String으로..
-
[JavaScript] var를 사용하지 않는 이유Javascript 2022. 1. 7. 15:53
var는 ES6 이전에 사용됐고, 변수를 만들 떄 변수명 앞에 붙혀서 변수를 만들어준다. var는 개발에 있어서 중요한 단점을 가지고 있어서 현재는 거의 사용을 하지 않는다. var num - 12345 console.log(num) // 12345 var num = 12345 console.log(num) // 12345 num이 중복으로 사용이 됐는데 Error가 발생하지 않는다. 만약 큰 프로젝트에서 변수명을 똑같이 써도 Error가 발생하지 않아서 로직 상의 Errro가 생겨도 찾기 힘들 것이다. 이러한 현상이 나타나는 이유는 Hoisting 때문이다. Hoisting은 var를 사용해서 변수 선언 했을 때 해당 변수의 선언부를 Scope 최상단으로 올리는 것을 말한다. JavaScript의 변수..
-
JavaScript 구조 분해 할당Javascript 2022. 1. 5. 16:11
구조 분해 할당 배열이나 객체의 속성을 해체하여 그 값을 변수에 담을 수 있게 하는 JavaScript 표현식이다. 출처: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 구조 분해 할당 - JavaScript | MDN 구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다. developer.mozilla.org 예시 var candyMachine = { status: { name: 'node', count: 5 }, getCandy: function () { this.status.count-- retu..