연산자(+ _ * / % )
+ : 문자열에 우선순위
- : 숫자에 우선순위
그러므로
console.log(1 +1); 2
console.log(1 + "1"); 11 문자열 우선순위
console.log(1 - "2"); -1 숫자열 우선순위
console.log(1 - 2); -1
console.log(2 * 3); 6
console.log("2" * 3); 6 숫자열 우선순위
console.log(4 / 2); 2
console.log("4" / 2); 2 숫자열 우선순위
/ 나누기 연산자 (vs) % 나머지 연산자
console.log(5 / 2); 2.5
console.log(5 % 2); 1 (5를 2로 나눌경우 몫2 나머지1이므로)
할당연산자 (assignment)
6-1 등호 연산자 (=) ; 오른쪽 에서 왼쪽으로 할당함 ; 등호= 연산자가, 할당 연산자
let x = 10; x라는 변수 선언하고 값을 10으로 할당했을 때
6-2 더하기 등호 연산자 (+=) ; 실제로 연산자 등의 언어는 잘 사용하지 않음 ; 잘 쓰기만 하면 됨
x += 5; x에다 5를 더해줘
ex)
let x = 10;
console.log(x); 10
x += 5;
console.log(x); 15 이 상태에서 한 번 더 식을 준다면
x += 5;
console.log(x); 20 이 됨. 또는 (x +=5; 한 번 더 안쓰고) x = x + 5; 라고 해도 20
6-3 빼기 등호 연산자
x = x - 5;
console.log(x); 15 가 됨 ; 식이 10, 15, 20 이렇게 차례로 계산 된 후 이번에 -5를 한 셈이므로
-10 만들고 싶다면 아래에 x = x - 25; 또는 x -= 25;
이것 처럼 나누기, 곱하기 가능
let a = 10; 처음에 10이라는 값을 할당 했는데
a *= 2; a를 곱한 다음 2를 재할당 한 것? (*2를 재할당 했다는 말 같음)
console.log(a); 20
비교연산자 ; true 또는 false 반환하는 연산자
좌, 우 혹은 어떤 값을 비교해서 true 또는 false 값을 내는 연산자
조건 제시할 때 중요한 역할 ; 비중높음
1. 일치연산자 === 좌랑 우를 비교하는 연산자, =3개 이어붙인거 맞음...
; 타입까지 일치해야 true를 반환하는 연산자
ex)
console.log(2 === 2); true - 숫자 2가 숫자 2와 같니? true
console.log("2" === 2); false - 숫자 2가 문자 2와 같니? false
2. 불일치 연산자 !== 타입까지 일치해야 false를 반환하는 연산자
ex)
console.log(2 !== 2); false - 숫자 2가 숫자 2와 다르니? false
console.log("2" !== 2); true - 문자 2가 숫자 2와 다르니? true
console.log(2 !== "2"); true - 숫자 2가 문자 2와 다르니? true
3.작다 연산자 < , <=
console.log(2 < 3); true
console.log(2 <= 3); true
4. 논리 연산자
4-1. && 논리곱 연산자 ; 둘 다 true 일때만 true 반환
console.log(true && true); true
console.log(true && false); false
console.log(false && true); false
console.log(false && false); false
4-2. 논리합 연산자 ; 둘 중 하나만 true여도 true반환 - shift + \ (엔터 위에 있음)
console.log(true || true); true
console.log(true || false); true
console.log(false || true); true
console.log(false || false); false
4-3. 논리 부정연산자 ! ; 값을 반대로 바꿈 - 많이 쓰임
console.log(true); true
console.log(!true); false
ex)
let a = true;
console.log(!a); false
5. 삼항 연산자 (중요) - 항이 3개라서
조건에 따라 값을 선택한다.
let x = 10;
let result = x > 5 ? "크다" : "작다";
항1 항2 항3 조건에 따라 값을 결정하는 건데 항1;조건이 true이면 앞에 것으로 결정, 그렇지 않으면 뒤에것으로 결정
console.log(result);
--- y가 10보다 작은경우, 작다 큰 경우 크다로 (console.)에 출력 ;
let y = 20;
let result = y > 10 ? "크다" : "작다";
console.log(result);
- result 대신에 answer 로 바꿔도 같은 내용인듯
6. 타입연산자 typeof
tip)
터미널 다 지우지 않고 잘 보기 위해 구분선 넣을 때 ; console.log("-------");
함수 = function
; input(매개변수)과 output 기능을 가지고 있는 기능의 단위
;자바스크립트 내에서 기능의 단위로 묶은 다음 재활용함
함수 잘 만들면 js내에서 휴율적으로 코드 사용가능
함수 정의 function (소괄호) {중괄호} ; 기본골격
1. 함수 선언문 => function 함수이름(매개변수) {메인로직 들어가는 부분}
function add (input) { 소괄호 앞에다 함수이름 적기 (add)
중괄호 안에다가 함수 내부에서 실행할 로직
}
ex) 두 개의 숫자를 입력 받아서 덧셈을 한 후 내보내는 함수
function add (x, y) { 숫자 2개 이름 x, y / 입력은 ()여기서 받고
출력은 {} 항상 return 키워드를 통해 출력
} result를 선언 하고 리턴해야 하므로, 함수가 시작할 때 만들어서 return
function add(x, y) { 이렇게 인데 기본적인 수준에서 하는 것이므로
let result;
return result;
}
같은 말로
function add(x, y) {
return x + y;
}
2. 함수 표현식 ; let 다음인 왼쪽에 함수 이름 썼으므로 ()앞에다 안써도 됨
let add2 = function (x, y) {
return x + y;
} 위에 얘랑 얘랑 다르게 선언되었지만 같은 역할하는 함수
함수 호출한다 = 사용한다
함수명 () - 여기서는 함수명이 add 이므로 add(input) , 위에 수식이 x + y로 되어있기 때문에
console.log(add(2, 3)); 하면 5나옴
let functionresult add(3, 4); 함수로 부터 반환 받은 이 값을 함수에 할당 하고 콘솔로 찍어보면
console.log(); 7
add2 를 가지고 10과 20을 더한 값을 출력해보기
let functionresult2 = add(10, 20);
console.log(functionresult2);
input 매개변수 ; 매개체가 되는 변수
output return문 뒤에 오는 값 : 반환값