melius
[JS] 연산자 본문
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_Operators
1. 문자열 연산자(String Operator)
더하기 연산자만 있음
console.log("my " + "string");
console.log("12" + 24); // 1224, 더하기(문자열) 연산자는 문자형으로 형변환
console.log("12" - 24); // -12, 나머지 사칙 연산자는 숫자형으로 형변환
console.log("12" - "24"); // -12
console.log("my string" - "string"); // NaN
2. 비교연산자(Comparison operator)
console.log("10" == 10); // true, Equal, 형변환 됨
console.log("10" != 10); // false, Not equal, 형변환 됨
console.log("10" === 10); // false, Strict equal, 형변환 안됨, 자료형도 같아야 true
console.log("10" === "10"); // true
console.log(10 !== "10"); // true, Strict not equal, 형변환 안됨
console.log('true' == true); // false, 논리형으로 형변환 안됨
console.log(Boolean('true') == true); // true, 형변환 함수
console.log('false' == false); // false, 논리형으로 형변환 안됨
console.log(Boolean('false') == false); // false, 'false'는 논리형으로 형변환하면 true
console.log(0 == false); // true, 형변환 됨
console.log("" == false); // true, 형변환 됨
console.log(undefined == false); // false, 형변환 안됨
console.log(null == false); // false, 형변환 안됨
console.log(40 > 25 > 10); // false, true(1) > 10, 숫자형으로 형변환
console.log(40 > 25 < 10); // true, true(1) < 10, 숫자형으로 형변환
console.log(40 > 25 == 1); // true, true(1) == 1, 형변환 됨
console.log(40 > 25 === 1); // false, true === 1, 형변환 안됨
console.log("abc" > 2); // false
console.log("abc" < 2); // false
console.log("" > 2); // false
console.log("" < 2); // true
console.log("" == 0); // true
console.log("" === 0); // false
3. 논리 연산자(Logical operator)
console.log("Cat" && "Dog"); // Dog
console.log(false && "Cat"); // false
console.log("Cat" && false); // false
console.log("Cat" || "Dog"); // Cat
console.log(false || "Cat"); // Cat
console.log("Cat" || false); // Cat
* 단락 평가(Short-circuit evaluation)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators
4. 조건 연산자(Conditional operator)
let condition = true;
console.log(condition ? 'true' : 'false'); // true
console.log('false' ? 'true' : 'false'); // true
console.log(0 ? 'true' : 'false'); // false, 논리형으로 형변환
console.log(undefined ? 'true' : 'false'); // false, 논리형으로 형변환
console.log(null ? 'true' : 'false'); // false, 논리형으로 형변환
console.log("" ? 'true' : 'false'); // false, 논리형으로 형변환
5. 할당 연산자(Assignment operator)
할당 연산자도 출력을 가진다.
let a, b;
console.log(b = a = 12);
6. typeof 연산자(typeof operator)
7. 연산자 우선순위(Operator precedence)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
'JavaScript' 카테고리의 다른 글
[JS] 프로토타입 (0) | 2020.01.01 |
---|---|
[JS] this (0) | 2020.01.01 |
[JS] 함수 (0) | 2019.12.30 |
[JS] 객체 (0) | 2019.12.30 |
[JS] 변수와 자료형 (0) | 2019.12.24 |
Comments