JavaScript|データ型


JavaScriptの6種類のデータ型
  • undefined
  • null
  • boolean (true/false)
  • number
  • 文字列(文字列):二重引用符("")または一重引用符(""")で囲まれたすべての式
  • オブジェクト(オブジェクト):キーと値を組み合わせたデータ,{キー:値}
  • 1.データ型のチェック(typeof)typeof演算子では、各値または変数のデータ型がわかります.この演算子を適用すると、次の文字列のいずれかが返されます.
    :undefined、boolean、string、number、object(関数以外のオブジェクトまたはオブジェクト)、function
    let msg = "message";
    console.log(typeof msg);	// string
    console.log(typeof 100);	// number
    console.log(typeof null);	// object (배열은 빈 객체를 참조하기 때문에 데이터 타입이 object)
    console.log(typeof []);		// object (배열은 확장된 객체)
    2. boolean
    booleanタイプにはtrueとfalseの2つの値があります.
    他のデータ型はbooleanに変換されます.
    1)trueに変換する値
  • 文字列:空でないすべての文字列
  • 数字:0以外のすべての
  • 数字
  • オブジェクト:すべてのオブジェクト({},[])を含む
  • 2)falseの値に変換
  • 文字列:"(空の文字列)
  • 数字:0,NaN(Not a number)
  • オブジェクト:null
  • undefined
  • 条件式を判断するtrue/falseのif条件文にboolean値を使用します!
    3.string(文字列)
    1)大文字と小文字の置換
    let lastName = 'Hyeonju Lee';
    let upperLastName = lastName.toUpperCase();
    let lowerLastName = lastName.toLowerCase();
    
    console.log(LastName); 		// Hyeonju Lee (기존의 값에 변화없음)
    console.log(upperLastName);	// HYEONJU LEE (전체 대문자)
    console.log(lowerLastName); // hyeonju lee (전체 소문자)
    2)文字列の長さをチェックする.lengthプロパティの使用
    let name = "hyeonju"
    console.log(name.length) // 7
    ref.number型には長さ属性は存在せず、0で始まる携帯電話番号には前の0はなく、後ろの数字のみが割り当てられます.
    let phoneNumber = 01012349876;
    console.log(phoneNumber);			// 1012349876
    console.log(phoneNumber.length);	// undefined 
    そのため、携帯電話番号はstring形式で保存しなければならない.
    let phoneNumber = "01012349876" 
    3)検索文字列indexOf()関数は、文字列に特定の文字列が含まれているかどうかを確認し、その文字列がいくつかのシーケンスに含まれていることを示します.文字列がない場合は、-1を返します.
    let info = "JavaScript는 프로래밍 언어이다.";
    let firstChar = info.indexOf("프로래밍"); //12
    
    console.log(info, firstChar); 
    // 'JavaScript는 프로래밍 언어이다. 12' : 프로래밍 문구는 12번째에서 시작
    
    if (firstChar !== -1){ 		// 조건: firstChar가 -1이 아닐 때, (해당 문자열이 있을 때)
      info=info.slice(0, firstChar) + "프로그래밍" + info.slice(firstChar+4, info.length)
    // slice(): 텍스트를 잘라주는 함수 - slice(잘릴 시작위치, 잘릴 끝위치)
    // info.slice(0, firstChar) = info.slice(0, 12) 
    // info.slice(firstChar+4, info.length) = info.slice(16, 22)
    }
    console.log(info);
    4) assignment
    liceCityFromAddress関数を実装してください.
    SliceCityFromAddress関数はアドレスパラメータを受信します.
    addressパラメータには、アドレスを表す文字列があります.
    指定された住所がどの都市なのかを見つけて、その住所から都市部分だけを削除する新しい住所を返してください.
    アドレスは「時」で終わる必要があります.例えば、「ソウル市」.
    住所には度と市が一度しか含まれていません.
    たとえば、次のアドレスを指定します."경기도 성남시 분당구 중앙공원로 53"次の値を返さなければなりません:"경기도 분당구 중앙공원로 53"
    function sliceCityFromAddress(address) {
      let newAddress = address.indexOf("도");
      let noCity = address.indexOf("시");
      if (newAddress == -1 && noCity !== -1) {	// 광역시, 특별시 같이 '도'없이 '시'만 있는 경우
        address = address.slice(noCity+2, address.length);
        return address;
      } 
      else {	// 그 외 나머지 지역의 경우
        address = address.slice(0, newAddress+2) + address.slice(noCity+2, address.length);
        return address;
      }
    }
    4.string-numberの変換
    JavaScriptはデータ型に関心がありません.
    let a = 10;		   // type: Number
    a = "나는 string인데..";	   // type: String
    console.log("200"-"안녕");  // NaN(Not a Number) 반환
    1)文字列をnumberに変換number関数の使用
    var birthYearInput = "2000";
    console.log(typeof birthYearInput);		// string
    
    var numberBirthYear = Number(birthYearInput);
    console.log(typeof numberBirthYear);	// number
    parseIntparseFloatを使用parseInt文字列を整数に変換(小数点を破棄)parseFloat文字列を実数に変換
    parseInt("1.901");		// console.log(parseInt("1.901")) : 1
    parseFloat("1.901");	// console.log(parseFloat("1.901")) : 1.901
    Number("1.901");	    // console.log(Number("1.901")) : 1.901
    parseInt("200") + 1;    // console.log(parseInt("200")+1) : 201
    演算の特性を利用する
    var numberAsNumber = "1234"; 
    var numberAsString = numberAsNumber - 0;
    
    console.log(numberAsNumber, typeof numberAsNumber);	// 1234 string
    console.log(numberAsString, typeof numberAsString); // 1234 'Number'
    2)numberをstringに変換toString()の使用
    var numberAsNumber = 1234;
    var numberAsString = numberAsNumber.toString();
    
    console.log(numberAsNumber, typeof numberAsNumber);	// 1234 'Number'
    console.log(numberAsString, typeof numberAsString);	// 1234 string
    演算の特性を利用する
    var numberAsNumber = 1234;
    var numberAsString = 1234 + "";
    
    console.log(numberAsNumber, typeof numberAsNumber);	// 1234 'Number'
    console.log(numberAsString, typeof numberAsString);	// 1234 string
    3) assignment
    わが国は満65歳から国民年金を受け取ることができる.
    n a t i o n a l P e n s ionRemainingYearCount関数を実装してください.
    n a t i o n a l P e n s ionRemainingYearCountはage stringという入力を受信します.
    age stringは年齢値で、string型値です.
    与えられた年齢から何年か経ってから国民年金を受け取ることができますので、ご返事ください.
    次の文と同じ値を返します."앞으로 20년 남으셨습니다"たとえば、age string値が「35」の場合
    次の値を返します."앞으로 30년 남으셨습니다"
    function nationalPensionRemainingYearCount(age_string) {
      let ageNumber = Number(age_string);
      if (ageNumber < 65) {
        const yearLeft = 65 - ageNumber;
        return ("앞으로 "+ yearLeft + "년" + " 남으셨습니다")
      }
      else if (age_string = 65) {
        return ("앞으로 0년 남으셨습니다")
      }
    }
    5.日付と時刻
    日付と時刻を格納して表示するには날짜 객체を使用します.
    日付オブジェクトの生成には、new演算子の後のDate演算子を使用します.
    let rightNow = new Date();
    console.log(rightNow);	// 2021-01-15T13:38:57.885Z
    
    let year = rightNow.getFullYear();	 // 2021;
    let month = rightNow.getMonth() + 1;     // 1 (현재 달보다 1 작은 값 반환됨)
    let date = rightNow.getDate(); 		 // 15
    let day = rightNow.getDay(); 		 // 5 (Sunday - Saturday: 0-6)
    let currentHour = rightNow.getHours();   // 22
    let currentMin = rightNow.getMinutes();  // 42
    getTime getTime戻り日のミリ秒表記
    let time = rightNow.getTime(); 	// 1610718562467 
    // 기준 일자 1970년 1월 1일로부터 1610718562467 밀리초가 지났다는 의미
    6. Number
    1)Mathオブジェクト
    四捨五入Math.round()Math.ceil()アップロードMath.floor()下降
    Math.round(4.7);	// returns 5
    Math.ceil(2.5);		// returns 3
    Math.floor(2.5); 	// returns 2
    y Math.pow(x,y) x
    Math.pow(8, 2);		// 8^2, returns 64
    Math.abs()絶対値
    Math.abs(-4.7);		// returns 4.7
    他のMathオブジェクトはここです。で見つけることができます.
    2)ランダム関数Math.random()の乱数を取得
    var randomNumber = Math.random();	// 0.0000000000000000에서 0.9999999999999999 사이의  랜덤수 제공
    assignment
    最小(最小)、最大(最大)の値を使用して、関数がその間に返される乱数を実装します.
    function getRandomNumber (min, max) {
      const randomNumber = Math.random();
      return randomNumber * (max - min) + min;
    }
    // 0 < randomNumber <1
    // max: 10, min: 2 일때, 위 공식에 의하면 2 < rancomNumber < 9가 되므로 최소값과 최대값 사이의 랜덤값을 return하게 된다.