23/10/12 til 자바스크립트 문법 종합반(1)
2023. 10. 12. 21:35ㆍ카테고리 없음
console.log("hello world");
/////////////// 개발자 검사의 기본꼴 콘솔창에 정보 뜬다/////////////
//변수 5가지 주요 개념
//변수 이름 변수 값 변수 할당 변수선언 변수 참조
var myvar = "hello world";
var myvar = "test1"
myvar = "good";
console.log(myvar);
//var myvar1;
//myvar1 = 3;
let mylet = "hello world1"
//let mylet = "test2"
mylet = "good1"
console.log(mylet);
const myconst = "hello world2"
//const myconst = "test3"
myconst = "good3"
console.log(myconst);
//변수 선언하는 3가지 방법 var let const
//변수를 선언하고 할당한다.
//var는 중복 할당이 가능한데 // let이나 const 는 중복지정이 안된다. // 세개의 다른점이 더 있을것 같은데 뭘까????
//데이터 타입
//데이터 타입 런타임에 결정된다.
// 코드를 작성할때가 아니라 실제 코드가 실행될때
//그때 코드가 실행될때
//정수형
let num1 = 10;
console.log(num1);
console.log(typeof num1);
//typeof 붙이면 콘솔창에 넘버인지 스트링인지 널인지 불리언인지 등등 알려준다.
//실수형(float)
let num2 = 3.14;
console.log(num2);
console.log(typeof num2);
//실수는 float 라고 한다고함 ㅋ 넘버임
//지수형
let num3 = 2.5e4;
console.log(num3);
console.log(typeof num3);
//지수형 표현이 좀 낯설다 e4가 10^4이라심 10의 4승 // 25000이고 넘버
//
let num4 = "hello" / 2 ;
console.log(num4);
//개소리라 NaN으로 표시 스트링은 넘버로 나눌수 없다.
//무한대
let num5 = 1/0;
console.log(num5);
console.log(typeof num5);
//인피니트의 표현 infinite 이고 넘버
let num6 = -1/0 ;
console.log(num6);
console.log(typeof num6);
//문자 string // -infinite이고 넘버
let str = "hello world";
// console.log(typeof str);
// console.log(str);
console.log(str.length); // str.length 는 str이라는 스트링의 문자 갯수
let str1 = "hello";
let str2 = "world";
let result = str1.concat(str2); //str1과 str2의 문자열을 그대로 합친다. helloworld
console.log(result);
//문자열 자르기
let str3 = "hello world"
console.log(str3.substr(7,4)); // str3에 7번째 문자 다음부터 뒤에 4개까지 // orld
console.log(str3.slice(6,8)); // str3에 6번째 문자 다음부터 8번째 문자열까지 //wo
//console.log(str3.length); 이게 문자가 11개가 맞나 확인해볼려고 쳐봤음
let str4 = "hello world1"
console.log(str4.search("world")); // str4 world라는 단어는 어디서 부터 있는가 //6번째 문자 다음부터
let str5 = "hello world"
let result01 = str5.replace("world","java"); //world를 java로 대체 해라
console.log(result01) //찍어보니 hello java
let str6 = "apple , banana, kiwi";
let result02 = str6.split(",") //str6를 ,을 기준으로 구분해라??? /// [ 'apple ', ' banana', ' kiwi' ]
console.log(result02)
//불리언 참과거짓
// true false(거짓)
let bool1 = true;
let bool2 = false;
console.log(bool1) //true
console.log(bool2) //false
console.log(typeof bool1) //boolean
console.log(typeof bool1) //boolean
//if : 만약 머머 한다면
// undefined
let x;
console.log(x); //undefined //정의 안내렸으니깐
//null 명시적으로 나타내는 방법 값이 존재하지 않음을
//null=undefined
// object 객체 array 배열
let person = {
name : 'choi', age : 20 ,
};
console.log(typeof person); //이게 오브젝트 사전캠프떄 딸깍좌님의 딕션너리랑 같은건가?? //object
let number = [1,2,3,4,5];
let fruit = ['apple','banana', 'orange'];
//이게 어레이? 리스트??? ////명시적 형변환 암시적 형변환
//암시적
let result01 = 1+ "2";
console.log(result01); // 넘버와 스트링의 합이라서 결과가 12고 string임 특이했음
console.log(typeof result01);
let result2 = "1" + true;
console.log(result2) // 1true 임 스트링이고 //합은 스트링우선
console.log(typeof result2);
//객체 널 언디파인드 더하기 문자열은 문자열
let result3 = 1- "2";
console.log(result3)
console.log(typeof result3); // 요건 -1이고 넘버 // +가 아니면 넘버우선
let result4 = "2"*"3";
console.log(result4) //요건 문자와 문자의 곱인데 6이고 넘버임 오호.....
console.log(typeof result4);
//명시적
console.log(Boolean(0));
console.log(Boolean("") );
console.log(Boolean(null))
console.log(Boolean(undefined) ); // ~~~~~표위에 불리언들은 다 false 밑에 불리언은 true
console.log(Boolean(NaN)) //정의를 한 스트링은 트루이고 오브젝트도 트루라니//헷갈릴듯
console.log("~~~~~~~~~~~~~");
console.log(Boolean("false"))
console.log(Boolean({}) );
//문자열 명시적
let result5 = String(123);
console.log(typeof result5); //스트링화 시킨다. 결과는 스트링이고 123
console.log(result5);
let result6 = String(true);
console.log(typeof result6); //블리언도 스트링화
console.log(result6);
let result7 = String(false);
console.log(typeof result7); //이하동문
console.log( result7);
let result8 = String(null);
console.log(typeof result8); //쌤쌤
console.log( result8);
let result9 = String(undefined);
console.log(typeof result9); //마찬가지
console.log( result9);
let result10 = Number("123");
console.log(result10);
console.log(typeof result10); //넘버화한다 123
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 문자열을 나눴지만 넘버 숫자우선 ㅋ
console.log(5/2); //2.5
console.log(5%2); //1 //요건 2로 나눈 나머지
let x = 10;
console.log(x);
x += 5; //참 희한한 수식임 위에 x에 5를 더한게 새로운 x
console.log(x);
x = x+5 //요게 위랑 같은 수식임 참 수학적으로 보면 말도 안되는 수식인데
console.log(x);
x -= 5; //요건 빼기버전
console.log(x);
let a = 10;
a *= 2;
console.log(a); //요건 a값에 2를 곱한게 새로운 a
console.log(2===2); //같은값인지 판단해라 같으니까 트루
console.log("2"===2); //이건 종류가 달라서 false
console.log(2!==2); //이건 다르니?라고 물어본거 //같은니까 펄스
console.log("2"!==2); // 다르니? 응 달라 //그러니까 트루
console.log("~~~~~~~~~~~~");
console.log(2<3);
console.log(2<=3);
console.log(3<=3);
console.log(4<=3);
console.log(true && true);
console.log(true && false);
console.log(false && true); //둘다 참이여야 참 ,하나라도 거짓이면 거짓
console.log(false && false);
console.log(true || true);
console.log(true || false); //둘중하나라도 트루면 트루 ,둘다 펄스면 펄스
console.log(false || true);
console.log(false || false);
console.log("~~~~~~~~~~~~");
console.log(!true); //!가 뒤의 값의 참거짓을 뒤봐꿈 //false
let banana = true
console.log(!banana); //false
let y =10;
let result = (y>5)? "크다" : "작다"; //요게 삼단 논법이었나? 물음표 앞에가 맞으면 크다로 적어라 아니면 작다로 //적어라 자주써봐야겠네
console.log(result);
console.log("~~~~~~~~~~~~");
let z = 20;
let popo = (z<10) ? "작다" : "크다" ;
console.log(popo); //크다
console.log(typeof "5"); //스트링