일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- python
- 생산적 적대 신경망
- multi-label
- 표본 공간
- for-of
- 이중구조분해할당
- catastrophic forgetting
- Autumation Tools
- 생성AI
- 모드 붕괴
- javacript
- 앱 구조
- Power Loss
- Voltage Drop
- GAN 손실함수
- zero-shot
- 인공지능 학회
- 자바스크립트
- 확률 변수
- javascript
- 장고
- GAN 이해
- application structure
- stability-plasticity trade-off
- 인프런
- fine grained
- few-shot
- 훈훈한 Javascript
- 설계철학
- Django
- Today
- Total
점점 미쳐가는 개발 일기
[Javascript] 4. 조건문: if, if-else, if-elif-else 본문
[인프런x코드캠프] 훈훈한 Javascript - 인프런 | 강의
다른 언어도 많은데.. 왜 자바스크립트여야 하냐구요? 자바스크립트는 전세계에서 가장 많이 쓰는 언어로, 비전공자도 빠르게 배울 수 있고 이해하기 쉬운 구조를 가지고 있어요. 게다가 구글,
www.inflearn.com
인프런 강의 "훈훈한 Javascript"를 보고 정리한 내용이며, 추가로 공부한 내용도 덧붙였습니다.
1. 비교 연산자
자바스크립트에서 비교 연산자는 두 값의 동등성 또는 대소 관계를 비교하는데 사용됩니다. 가장 많이 사용하는 비교 연산자는 ==(느슨한 비교)과 ===(엄격한 비교)입니다.
'===' 연산자는 엄격한 비교를 수행하여 피연산자의 값과 타입 모두를 비교합니다. 따라서 예상치 못한 타입 변환이 발생하지 않습니다.
"abc" === "abc" // true
"abc" === "123" // false
'==' 연산자는 두 피연산자의 값을 비교하지만, 피연산자가 서로 다른 유형인 경우 타입 변환을 수행한 후 비교합니다. 이 때문에 예상치 못한 결과를 초래할 수 있습니다.
0 == "0" // true
0 == [] // true
"0" == [] // false
2. 조건문
조건문은 주어진 조건이 참인지 거짓인지에 따라 코드의 실행 흐름을 제어합니다. 자바스크립트에서는 if, if-else, if-elif-else 문을 제공합니다.
if문은 조건식이 참이면 주어진 코드 블럭을 실행합니다.
if (name === "Jason") {
console.log("Hi, Jason")
}
// 만약 name이라는 변수와 "Jason"과 같다면, Hi, Jason을 출력
if-else문은 조건식이 참이면 첫 번째 코드 블럭을, 거짓이면 두 번째 코드 블럭을 실행합니다.
if (조건문) {
// 조건이 성립하면 실행될 코드
} else {
// 조건이 성립하지 않으면 실행될 코드
}
if-elif-else문은 여러 조건을 체크하고, 참인 조건의 코드 블럭을 실행합니다.
if (조건문) {
// 조건이 성립하면 실행될 코드
} else if (조건문) {
// 이전 조건문이 통과되지 않으며 else if 조건이 성립하면 실행될 코드
} else {
// 모든 조건이 성립하지 않으면 실행될 코드
}
3. 논리 연산자
논리 연산자는 주로 조건문에서 여러 조건을 조합할 때 사용됩니다. 자바스크립트에서는 && (AND 연산자)와 || (OR 연산자)를 제공합니다.
'&&' 연산자는 모든 피연산자가 참이면 true를 반환합니다.
'||' 연산자는 하나 이상의 피연산자가 참이면 true를 반환합니다.
4. 원시 타입과 참조 타입
자바스크립트에는 원시 타입과 참조 타입 두 가지 주요 데이터 유형이 있습니다.
원시 타입(Primitive Type)
- Number: 정수와 실수를 포함하는 모든 숫자를 나타냅니다.
- String: 텍스트 또는 문자열 데이터를 나타냅니다.
- Boolean: 참(true) 또는 거짓(false) 두 가지 값을 가질 수 있습니다.
- Null: 의도적으로 값이 없음을 나타내는 특별한 값입니다.
- Undefined: 값이 할당되지 않은 변수의 값입니다.
- Symbol: ES6에서 도입된 유형으로, 고유하고 변경 불가능한 데이터 타입입니다.
- BigInt: 매우 큰 정수를 나타내기 위해 ES2020에서 도입된 유형입니다.
원시 타입의 특징은 불변성(Immutability)입니다. 즉, 한 번 생성된 원시 값은 읽기 전용으로 변경할 수 없습니다. 새 값을 할당하면 기존 값이 변경되는 것이 아니라 새로운 메모리 공간이 생성되고 그 공간에 새 값이 저장됩니다.
참조 타입(Reference Type)
참조 타입에는 주로 객체(Object), 배열(Array), 함수(Function) 등이 있습니다. 참조 타입의 변수는 메모리 상의 객체를 가리키는 참조(Reference)를 값으로 갖습니다.
참조 타입의 가장 큰 특징은 객체의 속성(Property)이 변경 가능(Mutable)하다는 것입니다. 한 변수에서 참조 타입의 값을 변경하면, 해당 객체를 참조하는 모든 변수에서 그 변경 사항을 볼 수 있습니다.
let person1 = { name: "Alice" };
let person2 = person1;
person2.name = "Bob";
console.log(person1.name); // "Bob"
console.log(person2.name); // "Bob"
이 코드에서 person1과 person2는 동일한 객체를 참조하므로, person2에서 이름을 변경하면 person1에서도 변경된 이름을 볼 수 있습니다. 이것은 참조 타입의 변수가 실제 데이터 대신 메모리 내 위치(참조)를 저장하기 때문입니다.
'Front-end > Javascript' 카테고리의 다른 글
[Javascript] 6. 구조분해할당 (0) | 2023.07.10 |
---|---|
[Javascript] 5. 반복문: for, while, for-in, for-of (0) | 2023.07.10 |
[Javascript] 3. 함수 (0) | 2023.03.09 |
[Javascript] 2. 배열, 객체 (0) | 2023.03.09 |
[Javascript] 1. 변수, 문자와 숫자, 데이터 타입 (0) | 2023.03.09 |