본문 바로가기

JS122

13. Switch 문 안녕하세요 박기린입니다. Switch Statement Switch문은 해당 데이터가 어떤 case에 부합하는지에 따라, 그 구문의 ':' 이후에 나오는 코드를 실행합니다. 조건문의 일종으로 if문의 대용으로 사용할 수 있습니다. const day = 'monday'; switch(day) { case 'monday': // day === 'monday' console.log('Plan course structure'); console.log('Go to coding meetup'); break; case 'tuesday': console.log('Prepare theory videos'); break; case 'wednesday': case 'thursday': console.log('Write co.. 2022. 10. 3.
12. 논리 연산자 (Logical Operators) 안녕하세요 박기린입니다. 자바스크립트에는 4가지 논리 연산자가 있습니다. &&(and), ||(or), !(not), ??(nullish)가 있습니다. ??(nullish)연산자는 나중에 따로 문서를 만들어서 정리하겠습니다. (작성 후 링크 연결 예정) 이 글에서는 &&(and), ||(or), !(not) 세 가지만 다루겠습니다. OR : || console.log( true || true ); // true console.log( false || true ); // true console.log( true || false ); // true console.log( false || false ); // false || 연산자는 or를 뜻합니다. 다른 프로그래밍 언어는 좌항과 우항 중 하나만 true면 .. 2022. 10. 2.
11. 동등 연산자(==) vs 일치 연산자(===) 안녕하세요. 박기린 입니다. 자바스크립트는 비교 연산자에서 '같다'의 표현이 두 가지가 있다는 사실을 지난 글에서 확인했습니다. 이에 대해 좀 더 집중적으로 공부해보겠습니다. == vs === '=='는 '느슨하게 같다, 동등하다'의 의미를 지닌 연산자입니다. JS 엔진 내에서 자체적으로 피연산자의 데이터 타입을 coercion 한 뒤에 비교를 합니다. 즉, 타입이 달라도 내용물이 같으면 true를 return 합니다. '==='는 '엄격하게 같다, 일치하다'의 의미를 지닌 연산자입니다. 다른 프로그래밍 언어에서 쓰이는 '=='연산자와 동일한 역할을 한다고 보시면 됩니다. '=='와는 다르게 데이터 타입까지 완전히 동일해야 true를 return 합니다. 18 === 18 // true 18 == 18 .. 2022. 9. 30.
10. Truthy and Falsy Falsy Value란 Falsy value는 JS엔진에서 Boolean 타입으로 변환되었을 때 false 값을 반환하는 걸 의미한다. Falsy Value의 종류 Falsy Value는 크게 여섯 가지로 구분된다. undefined, null, NaN, 0, "" (빈 String), false 이 있다. 예시 console.log(Boolean(0)); // false console.log(Boolean(undefined)); // false console.log(Boolean('joseph')); // true console.log(Boolean({})); // true - empty object도 true로 변환된다. console.log(Boolean('')); // false const mon.. 2022. 9. 29.
9. 타입 변환의 종류 (Type Conversion, Coercion, Casting) 안녕하세요. 박기린 입니다. 이전 글에서 JS의 데이터 타입 종류에 대해 알아보았습니다. (해당 글 주소: https://arnopark.tistory.com/470) 내용 중에 '자바스크립트는 동적 타입을 지원'한다고 했었습니다. 이처럼 자바스크립트 내부에서 변수의 타입을 정해주다보니, 어쩔 때는 원래 String이었던 데이터가 갑자기 Number가 되거나 그 반대가 되는 상황이 발생합니다. 지금부터 어떠한 경우에 타입 변환이 발생하는 지 알아보겠습니다. JS 타입변환의 종류 JS는 다양한 타입변환 유형이 존재합니다. 크게 explicit과 implicit 두 가지로 나뉩니다. explicit [explicit type coercion, type conversion, type casting, 명시적 타.. 2022. 9. 28.
8. if/else 조건문 (if/else Statements) 안녕하세요. 박기린 입니다. 대부분의 프로그래밍 언어에는 조건문이 존재합니다. 조건문을 이용해서 다양한 상황마다 적절히 대응하는 프로그램을 만들 수 있기 때문입니다. 자바스크립트 또한 조건문을 지원합니다. if/else control structure const age = 22; if (age >= 18) { console.log(`Giraffe can start driving license 🚗`); } else { const yearsLeft = 18 - age; console.log(`Giraffe is too young. Wait another ${yearsLeft} years :)`); } // 콘솔창 : Giraffe can start driving license 🚗 if 키워드 다음으로 (괄호.. 2022. 9. 27.
7. 문자열과 템플릿 리터럴 (Strings and Template Literals) 안녕하세요. 박기린입니다. 자바스크립트는 ES6 버전부터 String을 사용할 때 template literal 방식을 도입합니다. 기존의 String 선언 방식 const stringEx = 'String'; 기존에는 작은따옴표(')와 큰따옴표(")를 사용해서 String타입의 변수를 선언했습니다. Template Literal Template Literal 방식은 백틱(backtick, `)을 사용합니다. const firstName = `joseph`; const job = `teacher`; 위의 코드만 봤을 때는 기존의 String 선언 방식과의 차이점을 알 수가 없습니다. 이제부터 그 차이점에 대해 알아가보겠습니다. Template Literal 방식의 특징 - String Interpolat.. 2022. 9. 26.
6. 연산자 우선순위 (Operators Precedence) 안녕하세요. 박기린입니다. 3 * (1+2) 이라는 식을 보면 어떻게 계산을 하시나요? 수학에는 계산을 할 때 순서가 있습니다. 위의 식의 경우에는, 괄호 안의 값을 계산한 후에 3을 곱하는 순서로 이루어져 있습니다. 식이 복잡해질 경우 어떤 계산 기호를 사용하느냐에 따라 계산 우선순위가 달라집니다. 그리고 이는 코딩에서도 마찬가지입니다. Operators Precedence console.log(3 + 10 * 2); // 23 console.log(3 + (10 * 2)); // 23 console.log((3 + 10) * 2); // 26 자바스크립트에서도 연산자 종류에 따라 계산의 우선순위가 정해집니다. 위처럼 (3+10)일 경우 덧셈임에도 불구하고 괄호 안에 있어서 먼저 계산된 것을 확인할 수.. 2022. 9. 25.
5. 연산자 (Basic Operators) JS의 연산자에 대해 알아봅시다. 수학 연산자 + : 더하기(plus) let x = 10 + 5; console.log(x) // 15 const firstName = 'Giraffe'; const lastName = 'Park'; console.log(firstName + ' ' + lastName); // Giraffe Park + 연산자는 String의 결합에도 사용할 수 있습니다. - : 빼기(minus) const now = 2022 const ageGiraffe = now - 2000; const agePark = now - 1991; console.log(ageGiraffe, agePark); // 22, 31 * : 곱하기(times) / : 나누기(divide) ** : 제곱(expon.. 2022. 9. 23.