본문 바로가기

자바스크립트 (JavaScript)33

[ 함수 ] 선언과 표현 그리고 호이스팅 // 함수 (Function) // 함수 선언문 (Declaration) function hello() { // pass } // ============================= // 함수 표현식 (Expression) // 일반적으로 함수를 만들 때, function 키워드를 사용 해서 함수를 선언 한다. // 이렇게 정의 하는 함수 선언과, 함수 표현식 모두 동일 하게 함수를 만드는 것이다. // 그런데, 함수 표현식은 const 또는 let 키워드를 통해서, // 변수에 이름을 지정하고 거기다가 할당 연산자를 통해서 function 키워드로 시작하는 함수를 할당 한다. // 즉, 변수에 함수를 대입 ( == 저장 == 할당 ) 하는 것이다. const hello2 = function () { .. 2023. 11. 5.
[ 연산자와 구문 ] While, Do while 반복문 // While (반복문) // 조건이 참 이면 무한히 도는 반복문. // 따라서, 루프를 멈추기 위해서는 조건이 거짓이 되는 조건식이 필요 하다. // 무한 반복이 되지 않도록 주의 해야 한다. let n = 0 while (n < 4) { // n이 4가 됬을 때, 조건이 거짓이 되므로 루프 탈출. console.log(n) n += 1 // 1, 2, 3, 4 } // ============================== // Do While 반복문 let n2 = 0 while (n2) { // 숫자 0은 false 데이터 이기 때문에, 참이 아니라 while 문이 돌지 않는다. console.log(n2) } // 조건이 거짓이라도, 콘솔 로그의 n2 라는 데이터가 무엇인지 확인 하려면 어떻게.. 2023. 11. 5.
[ 연산자와 구문 ] For, For of, For in 반복문 // For 반복문 /* for (초기화; 조건; 증감) { // 반복 실행할 코드 } */ for (let i = 0; i -1; i -= 1) { console.log(i) // 9 8 7 6 5 4 3 2 1 0 } for (let i = 9; i > -1; i -= 1) { if (i -1; i -= 1) { if (i % 2 === 0) { // 짝수 continue; // 짝수인 경우에.. 2023. 11. 3.
[ 연산자와 구문 ] If, Switch 조건문 // If 조건문 function isPositive(number) { if (number > 0) { return '양수' } } console.log(isPositive(1)) // 양수 console.log(isPositive(10)) // 양수 // 함수 내부에 아무것도 내용이 없는 상태로 함수가 끝나기 때문에, undefined 가 나온다. // 함수는 return 키워드를 사용 하지 않으면 기본적으로 undefined 가 반환 되는 특징을 가진다. console.log(isPositive(-2)) console.log(isPositive(0)) // undefined function isPositive2(number) { if (number > 0) { return '+' } else if (.. 2023. 11. 3.
[ 연산자와 구문 ] 선택적 체이닝 // 선택적 체이닝 (Optional Chaining) const user = {} console.log(user.name) // 객체 내부에 없는 속성 (key) 를 조회 하므로, undefined 출력. const test = null // console.log(test.name) // Uncaught TypeError : Cannot read properties of null const test2 = undefined // console.log(test2.name) // Uncaught TypeError : Cannot read properties of undefined // 위와 같이 null 또는 undefined 는 점 표기법으로 속성을 조회 할 수 없다. (당연) // 그래서 이런 경우에 선.. 2023. 11. 2.
[ 연산자와 구문 ] 전개 연산자 // 전개 연산자 (Spread Operator) // => 배열 데이터의 대괄호 [] 를 날려주는 역할 ! // => 객체 데이터의 중괄호 {} 를 날려주는 역할 ! // 유용 하게 사용 된다 ! const a = [1, 2, 3] console.log(a) // [1, 2, 3] // ... 은 전개 연산자 라고 부른다. 즉, 데이터를 쭉 펼쳐서 전개 한다. => 1 2 3 console.log(...a) // 1 2 3 console.log(1, 2, 3) // 1 2 3 => console.log 는 , (콤마) 를 제거 하고 출력. const b = [1, 2, 3] const c = [4, 5, 6] b.concat(c) // [1, 2, 3, 4, 5, 6] d = b.concat(c) co.. 2023. 11. 1.
[ 연산자와 구문 ] Nullish 병합, 삼항 연산자 // Nullish 병합 (Nullish Coalescing) const n = 0 // 0 || 7 이고, // => || 연산자는 가장 첫번째로 나온 true 데이터 반환. // 따라서 num1 변수에는 7이 저장 된다. const num1 = n || 7 console.log(num1) // 7 // 그런데, 이때 숫자 0 데이터를 true 또는 false 데이터로 사용 하고 싶은게 아니라, // 유효한 숫자 데이터로 사용을 하고 싶으면 어떻게 해야 할까 ? // 이때, Nullish 병합 연산자를 사용 할 수 있다. => ?? 기호를 사용 한다. // Nullish 병합 연산자는 null 과 undefined 를 제외한 나머지 데이터를 만나면 // => 그 즉시 처음에 만나는 데이터를 반환 한다... 2023. 11. 1.
[ 연산자와 구문 ] 논리 연산자 // 논리 (Logical) const a = true const b = false // AND (그리고) 연산자 if (a && b) { // 아무것도 출력 되지 않는다. (a가 참이여야 하고, b도 참이어야 한다) console.log('모두 참 !') } // OR (또는) 연산자 if (a || b) { // 출력 된다. (a가 참이거나, 또는 b가 참이다) console.log('하나 이상이 참 !') } console.log(true && false) // false // && == AND == 그리고 연산자를 사용 하면 단순하게 true 또는 false 가 반환 되는게 아니라, // 연산자를 기준으로 좌우의 피 연산자가 반환 될 수 도 있다. // => && 연산자는 코드의 왼쪽에서부터 확인.. 2023. 11. 1.
[ 연산자와 구문 ] 부정, 비교 연산자 // 부정 (Negation) console.log(!true) // false console.log(!false) // true console.log(0) // 0 console.log(!0) // true (부정 연산자 ! 을 추가 하면 true 가 출력 된다) console.log(!!0) // false (부정 연산자 ! 을 두번 붙히면 false 가 출력 된다) console.log(!!!0) // true (활용도가 낮긴 하지만, 부정 연산자 ! 는 중첩 해서 사용 할 수 있다) // false 데이터에 부정 연산자 ! 를 붙히면 모두 true 가 나오게 된다. console.log(null) // null console.log(!null) // true console.log(undefined.. 2023. 11. 1.