7장-연산자
산술연산자: 수학적 계산을 수행해 새로운 숫자 값을 만든다.
let x=1;
console.log(+x); //1
console.log(x);//'1'
x=true;
console.log(+x);//1
console.log(x);//true
x=false;
console.log(+x);//0
console.log(x);//false
x='Hello';
console.log(+x);//NaN
console.log(x);//'Hello'
여기서 처음 알게 된 점은 변수 앞에 +하나 붙이면 숫자타입으로 변환이 된다는 것이다!
할당연산자: 우항에 있는 피연산자의 평가결과를 좌항에 있는 변수에 할당한다.
비교연산자: 비교 후 결과를 불리언 값으로 반환한다.
등등은 알고 있던 내용이라 생략한다.
8장 - 제어문
블록문
//블록문
{
let foo=10;
}
//제어문
let x=1;
if(x<10){
x++
}
//함수 선언문
function sum(a,b){
return a+b;
}
조건문
let num=2;
let kind;
//if문
if(num>0){
kind='양수';
}
console.log(kind);//양수
//if~else문
if(num>0){
kind='양수';
}else{
kind='음수';
}
console.log()kind//양수
if~else if문
if(num>0){
kind='양수';
}else if(num<0){
kind='음수';
}else{
kind='영';
}
console.log(kind);
등등도 아는 거라 패스.
9장- 타입변환과 단축 평가
let x=10;
let str=x.toString();
console.log(typeof str, str)// string 10
console.log(typeof x, x)//number 10
변환 된 게 아니다
'10'+2//102
5*'10'//50
간단하게 적어 본 위 코드처럼 더하기를 제외하고 모두 숫자취급하여 연산 후 출력된다.
더하기만 문자취급을 받아서 옆으로 나열된다.
[9장의 요약]
false로 평가되는 값
- false
- undefined
- null
- 0.-0
- NaN
- ''(빈문자열)
toString()을 쓰면 문자열이 아닌 값을 문자열로 바꿀 수 있다 (이부분 모르고 있었다.)
String(1);
String(NaN);
String(Infinity);
String(true);
String(false);
(1).toString();
(NaN).toString();
(Infinity).toString();
(true).toString();
(false).toString();
parseInt, parseFloat를 쓰면 숫자타입으로 바꿀 수 있다!(이 부분도 모르고 있었다.)
Number('0')
Number('-1')
Number('10.53')
Number(true)
Number(false)
parseInt('0')
parseInt('-1')
parseFloat('10.53')
옵셔널 페이닝 연산자?.....
좌항이 null 또는 undefined인 경우 undefined반환. 그렇지 않으면 우항의 프로퍼티 참조한다는데..
즉, 변수를 통해 변수값을 참조하듯이 객체의 프로퍼티에 접근해 프로퍼티 값을 참조하는 것이다.
이게 뭔 소리인가...
elem?.value나 elem&&elem.value 등의 형식을 이용하여 falsy값 또는 undefined 등 앞 조건을 만족하면 그대로 평가되고 아니면 연산자 뒤에 있는 elem.value 등을 참조한다.
이부분도 새롭게 알게 된 내용이다.
let elem = null;
let value=elem?.value;
console.log(value);
예제 코드 처럼, elem이 null, undefined면 그대로 , 그렇지 않으면 우항의 프로퍼티 참조로 이어진다.
즉, null로 초기화 되어있으니까 undefined가 출력된다.
'자스스터디' 카테고리의 다른 글
[17,18,19]-생성자함수, 일급객체, 프로토타입 (0) | 2024.10.29 |
---|---|
[13,14,15]-스코프, 전역변수의 문제점, let const키워드와 블록레벨 스코프 (0) | 2024.10.24 |
10,11,12장 (0) | 2024.10.21 |