js의 8가지 데이터 유형
- 기본 데이터 유형:
숫자, 문자열, 부울, 정의되지 않음, null - 참조 데이터 유형:
객체, 배열 배열, 함수 함수 - ES6에 추가된 두 가지 새로운 유형:
Symbol, Bigint
js 산술 연산자
1. 더하기 기호 + 양쪽에 문자열 형식이 있는 경우 문자열 접합이 수행됩니다.
console.log("num"+100); //num100
console.log(100+"undefined"); //100undefined
- 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)를 숫자형으로 변환하여 연산하고, 변환할 수 없는 값은 NaN입니다.
빼기:
console.log(100-"100")//0
console.log(true-"100")//-99,把true转换成1
console.log(true - "aa"); //NaN
곱셈:
정의되지 않음은 숫자 유형으로 변환될 수 없습니다.
console.log(1*false); //0 false转为0
console.log(3*true); //3 true转为1
console.log(1*undefined); //NaN undefined不能转换为数值型
console.log(2*"3"); //6 转为数值3
console.log(2*"a"); //NaN`在这里插入代码片
분할:
console.log(100/true); //100
console.log(false/100); //0
console.log(100/"aa"); //NaN
console.log(100/'4'); //25
나머지를 가져 가라.
console.log(100%'3'); //1
console.log(100%true); //0
js 논리 연산자(결과를 얻음)
논리 연산자 > 산술 연산자, 논리 연산자를 먼저 실행한 다음 산술 연산자를 수행합니다.
- !(논리적 NOT): 부정
console.log(!true + 1); //1
console.log(!(true+1)); //false
console.log(!(1+1)); //false
- &&(논리적 AND): 그리고
주어진 조건이 모두 참일 때 진리값을 구합니다.
var age = 18;
var sex = '女';
console.log(age == 18 && sex == '女' ? true :false); //true
- || (논리 또는): 또는
주어진 조건 중 하나만 참일 때 참값을 얻을 수 있습니다.
var age = 18;
var sex = '女';
console.log(age == 18 || sex == '男' ? true : false); //true
Node.js 비교 연산자(부울 값을 가져와야 함)
<,>,=,>=,<=,==,!= ,!= =,= ==
==와 ===의 차이점:
- 이중 등호 ==를 사용할 때 등호의 왼쪽과 오른쪽에 있는 유형이 다른 경우 캐스팅된 후 비교됩니다.
- 삼중 등호 ===를 사용할 때에는 값의 크기와 양쪽의 타입이 같은지 비교하는 것이 필요하며, 값의 크기와 타입이 같다면 true를 반환하는 것이 필수인데, 그렇지 않으면 false를 반환합니다.
console.log(100 == '100'); //true
console.log(1 == true); //ture
console.log(100 === '100'); //false
console.log(100 === 100); //true
js 암시적 변환
- 위의 과정에서 산술 연산자와 이중 등호는 암시적 변환을 수행합니다. 또한 여기에 소개되고 요약된 몇 가지 다른 암시적 변환이 있습니다.
2. 문자열로 변환하기 위한 변환 규칙:
더하기 기호가 있는 경우 문자열이 있는 한 문자열로 변환하여 문자열 연결을 수행합니다.
(1) 기본형 변환
console.log(100+"100") //100100
(2) 참조형 변환
Array는 배열 자체를 반환,
객체는 객체 자체를 반환
원칙: 암시적 변환 시, 숫자형이면 toString 메소드를 수행하고,
객체이면 valueOf()를 수행한다. , 먼저 valueOf() 메서드를 수행하고 toString()을 수행합니다.