본문 바로가기

언어/JavaScript17

Behavior Driven Development(BDD) 소프트웨어 테스팅 방법론 중 하나- test, document, example 을 모두 모아놓은 개념- 명세서(spec) 작성 시, 아래와 같은 양식으로 작성할 수 있다.describe("pow", function() { it("주어진 숫자의 n 제곱", function() { assert.equal(pow(2, 3), 8); });});명세서의 구성 요소1. describe("제목", function() { ... })구현하고자 하는 기능에 대한 설명it 블록을 모아주는 역할2. it("useCase 설명", function() {...})누구나 읽을 수 있도록 자연어로 작성function은 유즈 케이스 테스트 함수가 들어간다.3. assert.equal(val1, val2)제대로 구현했다면 .. 2025. 4. 10.
화살표 함수 사용법- 함수 표현식을 축약해서 쓰는 것.let func = (arg1, arg2, ...argN) => expression위 아래는 같은 함수.let func = function(arg1, arg2, ...argN) { //함수 표현식 return expression;};let sum = (a, b) => a + b;/* 위 화살표 함수는 아래 함수의 축약 버전입니다.let sum = function(a, b) { return a + b;};*/alert( sum(1, 2) ); // 3 - 본문이 여러 줄인 경우에는 => 옆의 expression 을 { } 로 감싸주면 된다.let sum = (a, b) => { // 중괄호는 본문 여러 줄로 구성되어 있음을 알려줍니다. let result =.. 2025. 4. 8.
함수 표현식 함수 표현식- JS는 함수도 '값'으로 취급하므로, 함수 표현식이란걸 통해서 함수를 만들 수 있다.- 함수 표현식의 끝에 세미콜론은 구문의 끝이므로 붙은 것.let sayHi = function() { alert( "Hello" );};function sayHi() { // (1) 함수 생성 alert( "Hello" );}let func = sayHi; // (2) 함수 복사func(); // Hello // (3) 복사한 함수를 실행(정상적으로 실행됩니다)!sayHi(); // Hello // 본래 함수도 정상적으로 실행됩니다.- 함수는 '값' 이므로, 위처럼 함수를 복사해 다른 변수에 할당할 수 있다.- 함수 복사 시, sayHi(); 가 아니라 함수 이름만 넘겨준 .. 2025. 4. 8.
function 사용법 함수 선언 방법- function 함수명(파라미터1, 파라미터2, ...) { 본문 }- 함수는 이름만 보고도 무슨 역할을 하는지 알 수 있는 "자기 설명적(self-describing)" 코드로 작성해야한다.  지역 변수- 함수 내에서 선언한 변수- 함수 내에서만 접근 가능함 외부 변수- 전역 변수- 함수 내부에서 함수 외부에 선언된 외부 변수(outer variable) 접근 가능함. (수정도 가능)let userName = 'John';function showMessage() { userName = "Bob"; // (1) 외부 변수를 수정함 let message = 'Hello, ' + userName; alert(message);}alert( userName ); // 함수 호출 전이므로 .. 2025. 4. 7.
반복문 - for, while, do - while.. 사용법은 C++과 동일하다. 특이한 부분만 살펴보자. 1. ? 오른쪽에 break, continue 는 금물(i > 5) ? alert(i) : continue; // error! 2. break, continue 그리고 label- 이중 반복문을 탈출하고 싶을 때, 안 쪽 반복문에 break를 써도 바깥 쪽 반복문은 탈출할 수 없다.- 이럴 때 레이블을 사용한다. 레이블 : 반복문 앞에서 labelName: for(...) { ... } 로 쓰이는 식별자.outer: // 2025. 4. 1.
?? 연산자 1. nullish 병합 연산자- a ?? b : a가 null 혹은 undefined 라면 b를 반환한다. 그 외엔 a를 반환.x = (a !== null && a !== undefined) ? a : b; // x = a ?? b- 주로 값이 정해져있는 변수를 쉽게 찾기위해 사용된다.let firstName = null;let lastName = null;let nickName = "바이올렛";// null이나 undefined가 아닌 첫 번째 피연산자alert(firstName ?? lastName ?? nickName ?? "익명의 사용자"); // 바이올렛 2. ?? vs ||- || 는 첫 번째 참을 반환한다.- ??는 첫 번째 정의된 값을 반환한다.let height = 0;alert(hei.. 2025. 3. 28.