동작 원리왼쪽 피연산자가 null 또는 undefined인 경우 오른쪽 피연산자를 반환합니다.let result = a ?? b;// a가 null 이거나 undefined이면 b가 되고// 아니면 a가 됩니다.OR 연산자와의 차이OR 연산자는 왼쪽 false 값을 갖는 모든 값을 처리합니다.console.log(0 || 100); // 100console.log('' || 'text');// 'text'console.log(0 ?? 100); // 0console.log('' ?? 'text');// ''
OR(||) 연산자기본 구조|| 연산자는 일반적으로 두 개의 조건 중 하나라도 true이면 전체 표현식은 true입니다.console.log(true || false); // trueconsole.log(false || false); // false불린이 아닌 값이 피연산자로 사용될 경우, 자바스크립트는 내부적으로 해당 값을 불린형으로 변환 후 연산합니다.console.log(1 || 0); // 1console.log(null || 1); // 1console.log(undefined || null || 0 || "Hello"); // "Hello"console.log(undefined || null || 0); // 0첫 번째 true 찾기|| 연산자는 왼쪽에서 오른쪽으로 연산하면서 첫 번째 true..
IF문기본구조if (cond) { // 조건이 true 실행} else { // 조건이 false 실행}복잡한 조건식// 조건식이 복잡한 경우if (age >= 10 && age = 10 && age 조기 반환(early return) 패턴유효하지 않은 경우를 먼저 처리하여 처리 로직에 집중할 수 있게합니다.// 중첩 조건문function processMan(user) { if (user.age > 0) { if (user.sex === 'Man') { // 처리 로직 } else { throw new Error('남성만'); } }}// 조기 반화 패턴function processMan(user) { if (user.age 삼항 연산자기본 구조// isOnli..
엄격한 타입 비교의 중요성('===' vs '==')동등(==) vs 일치(===) 연산자위험한 암시적 형변환console.log(5 == "5"); // trueconsole.log(0 == false); // trueconsole.log("" == false); // true안전한 엄격 비교console.log(5 === "5"); // falseconsole.log(0 === false); // falseconsole.log("" === false); // false암시적 변환이 자주 발생하는 문제// api 값 const response = { age: '25' };// 위험: 암시적 변환에 의존if (response.age == 25)// 안전..
용어 정리피연산자 : 연산자의 대상이 되는 값단항 연산자 : 하나의 피연산자를 가지는 연산자입니다.이항 연산자 : 두 개의 피연산자를 가지는 연산자입니다.산술 연산자덧셈 연산자 : +뺄셈 연산자 : -곱셈 연산자 : *나눗셈 연산자 : /나머지 연산자 : %거듭제곱 연산자 : **나머지 연산자두 숫자를 나눈 후 나머지를 반환합니다.10 % 3 // 1 반환거듭제곱 연산자첫 번째 피연산자를 두 번째 피연산자만큼 제곱합니다.3 ** 2 // 9 반환제곱근 계산9 ** (1/2) // 3 반환이항 연산자 +와 문자열 연결+ 연산자는 덧셈뿐만 아니라, 문자열 연결의 기능도 있습니다.const test = "hello"console.log(test + " world") // hello world 출력피연산자 중 ..
문자형 변환자동 형 변환산술 연산자가 아닌 문자열 연결 연산자 +를 사용할 때, 숫자나 불린 값은 자동으로 문자열로 변환됩니다.let num = 10;let str = '현재 값은' + num;console.log(str) // 현재 값은10명시적 형 변환String() 함수를 사용하여 다른 타입의 값을 문자열로 변환합니다.let test = true;let str = String(test);console.log(typeof str) // "string" 출력숫자형 변환자동 형 변환*,/,-를 사용하면 피연산자가 숫자형이 아니더라도 자동으로 숫자형으로 변환됩니다.let sum = "5" * "3"; // 15명시적 형 변환 Number() 함수를 사용하여 다른 타입의 값을 숫자형으로 변환합니다.let s..