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");                            //스트링