1.5)자료형
let inf =Infinity;
let mInf=-Infinity;
let nan=NaN;
console.log(1*"hello");
NaN 은 not a number로 1*"hello"와 같은 것을 출력했을때 나타나는 결과.
let myName="김희진"
let myLocation="수원"
let inroduceText=`${myName}은 ${myLocation}에 거주합니다.`;
빽틱이란것을 활용하여 코드에 변수를 삽입할수도 있다.(작은 따옴표, 큰 따옴표 아님) --> 템플릿 리터럴 문법이라고 함
Q.) Null과 Undefined의 차이?
아무것도 할당하지 않았을때 들어가는 값은 Undefined Type, Null은 변수에 명시적으로 값을 할당해줘야 하는 값입니다
프로그래머가 직접 이값은 아무것도 없어요!라고 표현할때는 NUll이라고쓴다.
1.6) 형변환
묵시적 형변환-->자바스크립트 엔진이 알아서 형 변환 하는것
let num=10;
let str="20";
const result=num+str;
console.log(result);
출력결과: 1020 -->자바스크립트가 오류를 발생시키지 않기위해 숫자를 문자열로 암묵적으로 변환
명시적 형변환
let str1="10";
let strToNum1=Number(str1); //문자열이 숫자로 형변환
let str2="10개";
let strToNum2=Number(str2); //10개는 숫자로 형변환이 안되어 NaN이 출력됨
let num1=20;
let numToStr1=String(num1);//숫자가 문자열로 변환됨
1.7) 연산자
let comp1=1==="1";
==을 두번만쓰면 1과 "1"이 True라고 인식하지만 사실상 둘은 타입이 다르기때문에
===을 세번써서 정확히 비교하는 것이 좋다고 한다.
JavaScript에선 ===사용을 권장한다!
1.8)연산자2
//null 병합 연산자
-->존재하는 값을 추려내는 기능
//->null, undefined가 아닌 값을 찾아내는 연산자
let var1;//undefined
let var2=10;
let var3=20;
let var4=var1 ?? var2 //출력값:10
//typeof연산자
let t1=typeof var2; //number가 반환됨
1.12) ★화살표함수
let varB=function(){
console.log("funcB");
}; //익명함수
let varC=()=>{
return 1;
}; //화살표함수
let varC=()=>1//똑같이 매개변수를 아무것도 받지않고 1을 반환하는 함수
//매개변수있는 화살표함수
let varC=(value)=>value+1;
console.log(varC(10));
1.13)콜백함수
//콜백함수
function main(value){
console.log(1);
console.log(2);
value();
console.log("end");
}
//1 3 I am sub end 출력
main(()=>{
console.log("I am sub");
});
2.콜백함수의 활용
function repeat(count,callback){
for (let idx=1;idx<=count; idx++){
callback(idx);
}
}
repeat(5,function(idx){
console.log(idx);
});
Q.) 콜백함수와 재귀함수 차이?
재귀함수:함수가 자기자신을 다시호출하는 것.
콜백함수: 다른함수에 인자로 전달되어, 그 함수의 내부에서 호출되는 함
1.16)객체
let obj1=new Object();//객체생성자
//객체 프로퍼티
let person={
name:"이정환",
age:27,
hobby;"테니스",
};
//이정환을 출력하고싶다면
let name=person.name;
//새로운 프로퍼티를 추가하고 싶다면
person.job="fe developer";
//프로퍼티 삭제
delete person.job;
//프로퍼티 존재유무를 확인하는 방법
let result1="name" in person;
Q. )const를 붙히는 경우와 이유
-const는 상수를 선언하는 키워드
특징 1. 재할당 불가
const x = 5;
x = 7; // 오류
2. 하지만 내부값 수정가능(추가 삭제기능)
3.블록 스코프(블록 안에서만 유효함)
if (true) {
const y = 100;
console.log(y);
}
console.log(y); // 오류
-->주로 값이 변하지 않을 변수는 기본적으로 const를 사용함.
1.17)배열
let arrA=new Array();
let arrB=[1,2,3,true,"hello",()={}];