전체 글 (133) 썸네일형 리스트형 Js- 나머지 매개변수와 스프레드 문법 나머지 매개변수와 스프레드 문법 상당수의 자바스크립트 내장 함수는 인수의 개수에 제약을 두지 않습니다. 예시: Math.max(arg1, arg2, ..., argN) – 인수 중 가장 큰 수를 반환합니다. Object.assign(dest, src1, ..., srcN) – src1..N의 프로퍼티를 dest로 복사합니다. 기타 등등 이번 챕터에서는 이렇게 임의의(정해지지 않은) 수의 인수를 받는 방법에 대해 알아보겠습니다. 또한 함수의 매개변수에 배열을 전달하는 방법에 대해서도 알아보겠습니다. 나머지 매개변수 ... 함수 정의 방법과 상관없이 함수에 넘겨주는 인수의 개수엔 제약이 없습니다. 아래와 같이 말이죠. function sum(a, b) { return a + b; } alert( sum(1,.. Js - array method 앞으로 많이 사용할 메서드 위주로 정리할 것이다. foreach arr.forEach는 주어진 함수를 배열 요소 각각에 대해 실행할 수 있게 해줍니다. 문법: arr.forEach(function(item, index, array) { // 요소에 무언가를 할 수 있습니다. }); 아래는 요소 모두를 얼럿창을 통해 출력해주는 코드입니다. // for each element call alert ["Bilbo", "Gandalf", "Nazgul"].forEach(alert); 아래는 인덱스 정보까지 더해서 출력해주는 좀 더 정교한 코드입니다. ["Bilbo", "Gandalf", "Nazgul"].forEach((item, index, array) => { alert(`${item} is at index .. Js - symbol 심볼형 자바스크립트는 객체 프로퍼티 키로 오직 문자형과 심볼형만을 허용합니다. 숫자형, 불린형 모두 불가능하고 오직 문자형과 심볼형만 가능하죠. 지금까지는 프로퍼티 키가 문자형인 경우만 살펴보았습니다. 이번 챕터에선 프로퍼티 키로 심볼값을 사용해 보면서, 심볼형 키를 사용할 때의 이점에 대해 살펴보도록 하겠습니다. 심볼 '심볼(symbol)'은 유일한 식별자(unique identifier)를 만들고 싶을 때 사용합니다. Symbol()을 사용하면 심볼값을 만들 수 있습니다. // id는 새로운 심볼이 됩니다. let id = Symbol(); 심볼을 만들 때 심볼 이름이라 불리는 설명을 붙일 수도 있습니다. 심볼 이름은 디버깅 시 아주 유용합니다. // 심볼 id에는 "id"라는 설명이 붙습니다. le.. Js - 화살표 함수 화살표 함수 기본 함수 표현식보다 단순하고 간결한 문법으로 함수를 만들 수 있는 방법이 있습니다. 바로 화살표 함수(arrow function)를 사용하는 것입니다. 화살표 함수라는 이름은 문법의 생김새를 차용해 지어졌습니다. let func = (arg1, arg2, ...argN) => expression 이렇게 코드를 작성하면 인자 arg1..argN를 받는 함수 func이 만들어집니다. 함수 func는 화살표(=>) 우측의 표현식(expression)을 평가하고, 평가 결과를 반환합니다. 아래 함수의 축약 버전이라고 할 수 있죠. let func = function(arg1, arg2, ...argN) { return expression; }; 좀 더 구체적인 예시를 살펴봅시다. let sum =.. Js- 형 변환 형 변환 함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환됩니다. 이런 과정을 "형 변환(type conversion)"이라고 합니다. alert가 전달받은 값의 자료형과 관계없이 이를 문자열로 자동 변환하여 보여주는 것이나, 수학 관련 연산자가 전달받은 값을 숫자로 변환하는 경우가 형 변환의 대표적인 예시입니다. 이 외에, 전달받은 값을 의도를 갖고 원하는 타입으로 변환(명시적 변환)해 주는 경우도 형 변환이라고 할 수 있습니다. let eng = prompt("수학점수 입력"); let math = prompt("영어점수 입력"); alert((eng + math)/2); 각각 영어점수에 50점 수학점수에50점을 입력해주면 아래 사진과 같은 결과를 얻게 된다. 원했던 결과는 (50 +.. Js - alert, prompt, confirm alert alert 함수는 앞선 예제에서 살펴본 바 있습니다. 이 함수가 실행되면 사용자가 ‘확인(OK)’ 버튼을 누를 때까지 메시지를 보여주는 창이 계속 떠있게 됩니다. 예시를 살펴봅시다. alert("Hello"); 메시지가 있는 작은 창은 모달 창(modal window) 이라고 부릅니다. '모달’이란 단어엔 페이지의 나머지 부분과 상호 작용이 불가능하다는 의미가 내포되어 있습니다. 따라서 사용자는 모달 창 바깥에 있는 버튼을 누른다든가 하는 행동을 할 수 없습니다. 확인 버튼을 누르기 전까지 말이죠. prompt 브라우저에서 제공하는 prompt 함수는 두 개의 인수를 받습니다. result = prompt(title, [default]); 함수가 실행되면 텍스트 메시지와 입력 필드(input .. Nest.js - 인터셉터 인터셉터 @Injectable()인터셉터는 데코레이터 로 주석이 달린 클래스 이며 NestInterceptor인터페이스를 구현합니다. 인터셉터에는 AOP( Aspect Oriented Programming ) 기술 에서 영감을 받은 유용한 기능 세트가 있습니다 . 이를 통해 다음을 수행할 수 있습니다. 메서드 실행 전후에 추가 논리 바인딩 함수에서 반환된 결과를 변환 함수에서 throw된 예외를 변환합니다. 기본 기능 동작 확장 특정 조건에 따라 함수를 완전히 재정의합니다(예: 캐싱 목적) 라이프 사이클 Incoming request Globally bound middleware Module bound middleware Global guards Controller guards Route guards G.. Nest.js - pipes 파이프 파이프는 인터페이스 @Injectable()를 구현하는 데코레이터로 주석이 달린 클래스 입니다. 파이프에는 두 가지 일반적인 사용 사례가 있습니다. 변환 : 입력 데이터를 원하는 형식으로 변환(예: 문자열에서 정수로,spring type converter랑 비슷한기능) validation : 입력 데이터를 평가하고 유효한 경우 변경되지 않은 상태로 전달합니다. 그렇지 않으면 데이터가 올바르지 않을 때 예외를 던집니다 @Get(':id') getOneCat(@Param('id', ParseIntPipe, PositiveIntPipe) param: number) { console.log(param); // console.log(typeof param); return 'get one cat api'; .. 이전 1 ··· 3 4 5 6 7 8 9 ··· 17 다음