Javascript

정수인지 확인하기
Number.isInteger( ) 인자가 정수인지를 확인하는 메소드 전달된 값이 정수이면 true를 아니라면 NaN, Infinity와 같은 값은 모두 false 를 반환한다. Number.isInteger(1); // true Number.isInteger(3.14); // false Number.isInteger('문자'); // false Number.isInteger(true); // false 출처/참고 [자바스크립트] 전달된 값이 정수인지를 확인하는 메소드

루트와 제곱 구하기
루트 Math.sqrt 루트값을 구하는 방법은 인자로 값을 넘겨주면 루트값을 반환한다. Math.sqrt(4);// 2 Math.sqrt(100);// 10 Math.sqrt(16);// 4 제곱 Math.pow 제곱의 값을 구하는 경우 Math.pow 를 사용해서 거듭 제곱 등을 쉽게 구할 수 있다. Math.pow(값, 제곱승) Math.pow(2, 2); // 4 Math.pow(10, 2); // 100 Math.pow(4, 2); // 16 출처/참고 [자바스크립트] 루트와 제곱 구하는 방법

배열의 최대값 최소값 찾기
Math 함수 Math.max.apply(null, 배열) // 최대값 Math.min.apply(null, 배열) // 최소값 주의! 배열 내에 비교 불가능한 값이 있다면 결과는 NaN으로 나온다. 대부분의 경우는 Math 객체를 이용해도 결과를 얻을 수 있지만 큰 배열 (~10^7 elements) 정도 되면, Math.min 과 Math.max 를 사용할 경우, “RangeError: Maximum call stack size exceeded” 오류가 나게 된다. Math 객체를 이용하지 않고 더 메모리 소모도 적은 reduce 함수를 이용한 방법도 있다. reduce 함수 let array = [1, 10, 5, 11, 2] // 최대값 let max = array.reduce((previous,..

문자열이 숫자인지 체크하기
자바스크립트에서 문자열이 숫자인지 체크하는 방법은 isNaN( ) 함수를 이용한다. isNaN(테스트할값) 파라미터가 숫자가 아닐 경우 true 를 리턴하고, 파라미터가 숫자일 경우 false 를 리턴한다. '123', '123.1', 123, -123, .1 문자열 타입이든 숫자 타입이든 숫자가 입력되면 false 를 리턴한다. 'abc' 문자열이 입력되면 true 를 리턴한다. '123+123' 숫자로 이루어진 문자열 안에 숫자가 아닌 '+' 기호가 있어 true 를 리턴한다. undefined, { } undefined, { } 는 true 를 리턴한다. '', ' ', null, true, false, [ ] 빈 문자열, null, boolean 값, 배열은 false 를 리턴한다. new Dat..

비구조화 할당(구조분해)
비구조화 할당(구조분해) 객체 안에 있는 값을 추출해서 변수 혹은 상수로 바로 선언 const object = { a: 1, b: 2 }; const { a, b } = object; console.log(a); // 1 console.log(b); // 2 함수의 파라미터에서 비구조화 할당 const object = { a: 1, b: 2 }; function print({ a, b }) { console.log(a); console.log(b); } print(object); 비구조화 할당 시 기본값 설정 만약에 비구조화 할당 후 값이 주어지지 않는다면 undefined 가 나타날 것이다. 이러한 상황에 기본값을 주고 싶다면 이렇게 해줄 수 있다. const object = { a: 1 }; func..

조건문 활용
특정 값이 여러값 중 하나인지 확인해야 할 때 includes 비교해야 할 값이 많아질 수록 코드는 길어지게 된다. function isAnimal(text) { return ( text === '고양이' || text === '개' || text === '거북이' || text === '너구리' ); } console.log(isAnimal('개')); // true console.log(isAnimal('노트북')); // false 이러한 코드를 간단하게 해결할 수 있는 방법은, 배열에 includes 함수를 사용하는 것이다. function isAnimal(name) { const animals = ['고양이', '개', '거북이', '너구리']; return animals.includes(nam..

함수의 기본 파라미터
함수의 기본 파라미터 기본 파라미터란 함수를 호출하게 될 때 원래 넣어야 할 파라미터를 넣지 않게 되었을 때 기본값으로 사용할 값을 지정하는 것을 의미한다. 지금까지 배운 것들을 활용하여 파라미터가 주어지지 않았을 때 기본값을 사용하도록 다음과 같이 작성할 수 있다. 더보기 예시 원의 넓이를 구하는 함수 function calculateCircleArea(r) { return Math.PI * r * r; } const area = calculateCircleArea(4); console.log(area); // 50.26548245743669 여기서 Math.PI 는 원주율 파이(π) 값을 가리킨다. 만약 이 함수에 r 값을 넣어주지 않으면 어떻게 나타날까? function calculateCircle..

단축 평가 논리 계산법
단축 평가 논리 계산법은 논리 연산자를 이용해서 코드를 좀 더 단축해서 쓰는 것을 의미한다. true && true // true true && false // false true || false // true false || true // true 논리 연산자를 사용할 때 무조건 우리가 true 혹은 false 값을 사용하는 것은 아니다. 문자열이나 숫자, 객체를 사용할 수도 있고, 해당 값이 Truthy 하냐 Falsy 하냐에 따라 결과가 달라진다. 만약 함수에서 animal 값이 제대로 주어졌을 때만 name 을 조회하고, 그렇지 않을 때는 그냥 undefined 를 반환하게 하고 싶으면 어떻게 해야할까? const dog = { name: '멍멍이' }; function getName(animal..

Truthy / Falsy
이것은 자바스크립트 문법까지는 아니지만 알아둬야 하는 개념이다. Truthy : true 같은거 console.log(3); console.log('hello'); console.log(['array?']); console.log([]); console.log({ value: 1 }); Falsy : false 같은거 console.log(undefined); console.log(null); console.log(0); console.log(''); console.log(NaN); *NaN: Not A Number NaN은 보통 문자열을 숫자로 변환하는 자바스크립트 기본함수 parseInt 라는 함수를 사용하게 될 때 볼 수 있다. 예시 print 함수가 파라미터가 비어진채로 실행됐을 때 functio..

삼항 연산자
사용법 조건 ? true일때 : false일때 예를 들어 특정 조건에 따라 text 값이 달라야하는 상황이 있다고 해보자. const array = [1, 2]; let text = ''; if (array.length === 0) { text = '배열이 비어있습니다.'; } else { text = '배열이 비어있지 않습니다.'; } console.log(text); // 배열이 비어있지 않습니다.ㅁ 삼항 연산자를 이용하여 다음과 같이 작성할 수 있다. const array = []; let text = array.length === 0 ? '배열이 비어있습니다' : '배열이 비어있지 않습니다.'; console.log(text); 중첩 (비추천) 가독성이 그렇게 좋지 않으니 이러한 코드는 피하는 것..

프로토타입과 클래스
객체 생성자 객체 생성자는 함수를 통해서 새로운 객체를 만들고 그 안에 넣고 싶은 값 혹은 함수들을 구현할 수 있게 해준다. 객체 생성자를 사용할 때 보통 함수의 이름은 대문자로 시작하고, 새로운 객체를 만들 때에는 new 키워드를 앞에 붙여주어야 한다. function Animal(type, name, sound) { this.type = type; this.name = name; this.sound = sound; this.say = function() { console.log(this.sound); }; } const dog = new Animal('개', '멍멍이', '멍멍'); const cat = new Animal('고양이', '야옹이', '야옹'); dog.say(); // 멍멍 cat.s..

문자열 자르기 substr, substring, slice, split
자바스크립트에서 문자열을 자르는 함수로는 substr, substring, slice, split 이 있다. // [대괄호 부분] 은 생략이 가능하며, 생략할 경우 시작위치부터 문자열 끝까지 자른다. str.substr(start[, length]) str.substring(indexStart[, indexEnd]) str.slice(beginIndex[, endIndex]) str.split([seperator[, limit]]) substr substr 함수는 시작 위치부터 해당 길이만큼 문자열을 자르는 함수이다. 길이 부분을 생략하면 시작위치부터 문자열 끝까지 자른다. substr(시작위치, 길이) 또는 substr(시작위치) var str = '자바스크립트'; var result1 = str.su..