// if문
if (a) {
a = "a";
} else {
a = "b";
}
👇
// if문을 한 줄의 코드로 작성
a ? a = "a" : a = "b";
const age = 20;
// 나이가 18세 이상이면 성인입니다 아니면 미성년자입니다
const isAdult = age >= 18 ? : '성인입니다' : '미성년자입니다';
// 나이가 20이니까 18세 이상이니 성인입니다가 출력
console.log(isAdult);
const isLoggedIn = true;
const message = isLoggedIn ? '환영합니다!' : '로그인 해주세요.';
console.log(message); // 환영합니다!
const num = 7;
// num을 2로 나누어 떨어지면 짝수 아니면 홀수
const result = num % 2 === 0 ? '짝수' : '홀수';
// num이 7이니까 2로 안 나누어 떨어지니 홀수 출력
console.log(result);
// 동기
console.log('1');
// 비동기
setTimeout(() => {
console.log('2')
}, 3000); // 3초
// 동기
console.log('3');

JS는 한 줄 실행하고 또 다음 줄 실행하는 동기 언어❗
하지만 위에setTimeout에 콜백 함수를 실행하는 비동기 코드를 사용했음
🤔 어떻게 된 걸까 ❓
👉 JS는 원래 동기적으로 동작하지만
브라우저(또는Node.js)가setTimeout,fetch같은
비동기 기능을 대신 처리해줘서 비동기처럼 보이게 할 수 있음
즉, JS 혼자 힘으로는 비동기 못 하고
브라우저 같은 외부 도우미가 있어야 비동기처럼 동작하는 거🔥

JS 코드를 실행하려면 JS '엔진'이 필요✔
◽ 메모리 힙 : 메모리 할당이 발생하는 곳
( 변수를 정의하면 저장이 되는 창고 )
◽ 호출 스택 : 코드가 실행될 때 스택들이 이곳에 쌓이게 됨
function B() {
setTimeout(function () {
console.log('B-1...');
}, 1500);
}
function A() {
console.log('A-1...');
B();
console.log('A-2...');
}
A();








