실습하다가 이해가 안되는 부분에 대해 아래와 같이 답변이 있었다!
javascript의 조건식은 유연한 편입니다.
문자열이 조건식으로 사용되면 true로 식별됩니다. (빈문자열 ""은 false)
만약에 'data-title'이라는 비표준 속성이 없다면,
e.target.dataset.title의 값은 undefined가 됩니다.
javascript에서 0, null, undefined 는 모두 false로 간주됩니다.
https://www.codeit.kr/community/questions/UXVlc3Rpb246NjI0NDYzYmY4ODdlYmEzZjkzYjMzYzIz
if문의 () 이 괄호 안에는 결과가 참/거짓인 조건문이 들어가야 하지 않나요,,?
if (e.target.dataset.title) 이라고 답안에 나와있는데if (조건식) { 실행문; }이런 구조에서 조건식이 참이면 실행문이 실행되고 거짓이면 실행되지 않거나 else if, else로 넘어간다고 알고 있는데console.lo
www.codeit.kr
빈 스트링(' '), 0, null, undefined -> falsy
'asdqd', 1123, 객체 -> truthy
자바스크립트에서는 falsy, truthy 도 false, true 로 받는다
첫 번째 객체가 거짓 같은 값이라면, 해당 객체를 반환 = 왼쪽값
console.log(false && "dog");
// ↪ false
console.log(0 && "dog");
// ↪ 0
첫 번째 피연산자가 참인 경우, 논리적 AND 연산자는 두 번째 피연산자를 반환합니다. = 오른쪽 값
true && "dog"
// "dog" 반환합니다.
[] && "dog"
// "dog" 반환합니다.
AND 연산자 | OR 연산자 | |
true && true | true || true | AND :참이야? 넘겨 OR: 참이야? 내가 가져 |
true && false | true || false | |
false && true | false || true | AND: 거짓이야? 내가 가질게.. OR : 거짓이야? 넘겨 |
false && false | false || false |
OR 연산자는 반대롱~ ㅠㅜ
연산자가 섞여있다면 AND 연산자&&가 OR 연산자|| 보다 우선 순위가 높다
function print(value) {
const message = value || 'Codeit';
console.log(message);
}
print();
print('JavaScript');
조건문처럼 사용 가능
파라미터를 받으면 그대로 출력하고
빈 함수를 호출하면 지정된 값을 출력하도록 하는 함수
https://developer.mozilla.org/ko/docs/Glossary/Falsy
거짓 같은 값 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN
거짓 같은 값(Falsy, falsey로 쓰이기도 함) 값은 Boolean 문맥에서 false로 평가되는 값입니다.
developer.mozilla.org
https://developer.mozilla.org/ko/docs/Glossary/Truthy
참 같은 값 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN
JavaScript에서, 참 같은 값(Truthy)인 값이란 불리언을 기대하는 문맥에서 true로 평가되는 값입니다. 따로 거짓 같은 값으로 정의된 값이 아니면 모두 참 같은 값으로 평가됩니다(예: false, 0, -0, 0n, "",
developer.mozilla.org
!! 처리를 하면
falsy -> false, truthy -> true 로 바꿔준다
'개발 공부 일지 > JavaScript' 카테고리의 다른 글
자바스크립트 - 키보드 이벤트 / 포커스 이벤트 (input 태그) /입력 이벤트 / 스크롤 이벤트 (0) | 2024.07.18 |
---|---|
DOM - 브라우저 렌더링 (0) | 2024.07.18 |
자바스크립트 - 마우스 이벤트 (0) | 2024.07.17 |
자바스크립트 - 이벤트 버블링 / 캡쳐링 / 이벤트 위임 / 이벤트 방지 (0) | 2024.07.17 |
자바스크립트 - 이벤트 객체 (0) | 2024.07.17 |