728x90

Programming/Javascript 11

Chai - should, expect, assert

예제 함수로 공백을 제거하는 게 있다고 치자!function removeSpaces(str) { return str.replace(/\s+/g, '');} assert assert 는 Node.js의 기본 assert 모듈과 유사한 방법으로 작동으로 함수의 인자에 기대값과 실제값을 전달import * as chai from 'chai';import { removeSpaces } from '../index.js';const { assert } = chai;describe('removeSpaces with Assert', () => { it('가운데 공백 제거', () => { const input = 'Hello World'; const expectedOutput = 'He..

Jest, Mocha, Chai

JestFacebook에서 만든 Javascript Testing Framework주요 특징:올인원 테스트 솔루션: 테스트 러너, assertion 라이브러리, mock 기능 등을 포함.자동화된 모킹 및 타임 트래블 기능 지원.스냅샷 테스트 기능: 컴포넌트의 렌더링 출력을 스냅샷으로 저장하여 이후 변경 사항을 추적.빠른 테스트 실행: 내부적으로 여러 테스트를 병렬로 실행하여 속도가 빠름.설정이 거의 필요 없는 간편한 사용법.test('adds 1 + 2 to equal 3', () => { expect(1 + 2).toBe(3);});MochaNode.js와 브라우저에서 실행되는 기능이 풍부한 자바스크립트 테스트 프레임워크주요 특징:유연성과 확장성이 뛰어남: 다양한 assertion 라이브러리와 함께 ..

push pop shift unshift

Array 에서 사용 하는 메소드 push - 배열의 마지막에 아이템을 추가 let arr = [1,2,3,4,5] arr.push(6) //arr는 6이 추가되어 //[1,2,3,4,5,6] pop - 배열의 마지막에 아이템을 제거 let arr = [1,2,3,4,5,6] arr.pop() // arr에 마지막 아이템 6이 제거 됨에 따라 // [1,2,3,4,5] shift - 배열의 첫 번째에 아이템을 제거 let arr = [1,1,2,3,4,5] arr.shift() //앞에 1이 제거 됨에 따라 // [1,2,3,4,5] unshift - 배열의 첫 번째에 아이템을 추가 let arr = [1,2,3,4,5] arr.unshift('first') //가장 첫번째에 아이템이 추가 됨에 따라 /..

익명함수와 즉시 실행 함수

함수 표현식 방식으로 정의한 함수는 함수명을 생략 가능하다. 아래는 기명 함수와 익명 함수다. // 기명 함수 표현식(named function expression) let sum = function sum(a, b) { return a * b; }; // 익명 함수 표현식(anonymous function expression) let sum = function(a, b) { return a * b; }; 저때 sum 변수는 할당된 함수를 가리키는 참조값을 저장하게 되어 호출된다. 또한 실행도 sum 변수를 사용해야 한다. let sum = function(a, b) { return a + b; }; let b = sum; 이렇게 되면 sum과 b는 동일한 익명 함수의 참조값을 갖는다. 즉시 실행 함수(..

함수 호출 및 return

하나의 단위로 실행되는 문의 집합으로, 이름과 매개변수를 갖고 있고, 호출하여 코드 블록에 담긴 문들을 실행한다. // 함수 선언(function declaration) function helloWorld() { console.log('Hello World'); } 함수는 선언만 한다고 실행되지 않고, 호출을 해야 한다. 함수를 호출할때는 함수의 이름 다음 괄호를 통해 호출한다. helloWorld(); // 'Hello World' 출력 함수 내용에 return키워드를 사용하면, 함수를 즉시 종료하고 값을 반환한다. function helloWorld() { return 'Hello World'; } helloWorld() // "Hello World" return을 명시적으로 호출하지 않으면, 반환 ..

조건문

조건 분기에 따라 다른 state를 실행 if if(...) 문은 괄호 안에 있는 조건을 평가하고, 그 결과가 참(true)이면 블록이 실행된다. if(condition){ state } //예제 let i = 20; if(i === 20){ console.log('숫자는 20입니다.') } state가 단일이라면 생략 가능하나, 코드 가독성을 높이기 위해서는 블록 사용을 추천을 한다고 한다. if ... else if 문에 else를 통해 다른 분기를 처리할 수 있다. if문이 참이 되지 않고 거짓일 때 실행된다. let i = 25; if(i === 20){ console.log('숫자는 20입니다.'); } else { console.log('숫자가 20이 아닙니다.'); } if ... else ..

문자열

문자열(string)은 텍스트 데이터로 string은 string of characters에서 나왔다. 이 표현은 1800년대 후반 식자공들이 일정한 순서로 배열된 심볼을 가르칠 때 썼던 표현이며, 나중에 수학자들도 사용했다고 한다. 자바스크립트 문자열은 유니코드(unicode) 텍스트이다. 유니코드는 텍스트 데이터에 관한 표준이며, 사람이 사용하는 언어 대부분의 글자와 심볼에 해당하는 코드 포인트(code point)를 포함하고 있다. (이모티콘 포함) 자바스크립트의 문자열 리터럴은 작은따옴표, 큰따옴표, 백틱(backtick)을 사용한다. 백틱은 ES6에서 도입한 것이며, 템플릿 문자열에서 사용한다. let doubleQuotes = "text"; let quotes = 'text'; 만약 두 가지를..

식별자

변수와 상수, 함수의 이름을 식별자(identifier)라고 하며, 다음과 같은 규칙을 따른다. 반드시 글자나, 달러 기호($), 밑줄(_)로 시작한다. 글자와 숫자, 달러 기호, 밑줄만 쓸 수 있다. 𝜋 나 ⊇ 같은 유니코드 문자도 가능하다. 예약어는 식별자로 쓸 수 없다. (ex. function, break, case, catch 등.. 자세한건 mozilla 참고) 자바 스크립트에서 식별자 표기법은 여러가지이지만, 가장 널리 쓰는 두 가지는 아래와 같음. 카멜 케이스 (camel case) currentTime, userName, userAgent 등 중간중간의 대문자가 낙타의 혹처럼 보인다고 해서 지어진 표기법 스네이크 케이스 (snake case) current_time, user_name, ..

728x90