- 단위가 큰 정수를 표시할 때 1e9(= 1 X 10^9)와 같이 수를 표기할 수 있습니다.(지수 표기법)
- 8진수를 표현할 때는 앞에 0o를, 2진수를 표현할 때는 앞에 0b를 붙입니다. 이를 출력할때는 십진수로 출력됩니다.
- JS에서 숫자도 객체입니다. myNumber.toFixed(3)을 하면, 소수점 아래 자릿수를 3으로 고정시켜 줍니다. 만약 자릿수가 숫자를 초과하면 0으로 채워줍니다. toFixed()에 값을 전달 안하면 0이 전달됩니다. 이때, 반환된 값은 string이므로 숫자로 사용하려면 Number( )로 형변환 해줘야 합니다. Number()로 형변환하는 대신 앞에 +를 붙여줄 수도 있습니다.
- myNumber.toString(2)을 하면 수를 2진수로 반환시켜줍니다. 그리고 이때도 반환되는 값은 string입니다.
- 숫자뒤에 바로 .을 찍으면 소수점으로 인식하기 때문에 .을 두번찍어서 ..으로 숫자 메소드를 호출하거나, 숫자를 ( )로 감싸주거나, 따로 변수로 선언해줘야 합니다.
ex) 255..toString(2) 또는 (255).toString(8) 또는 myNumber.toString(16)
- JS의 내장객체로 Math가 있고, 다양한 메소드가 존재합니다. Math.abs(x), Math.max(2,1,4,5), Math.min(2,1,4,5), Math.pow(2,3), Math.sqrt(25), Math.round(2,49), Math.floor(x), Math.ceil(x), Math.random() 등이 존재합니다.
- JS는 다른 언어와 같이 소수를 정확히 표현할 수 없습니다. 따라서 Math.round() 또는 toFixed() 메소드로 어느정도의 소수점까지만 표시하여 대소,등호비교를 해야합니다.
- JS에서 문자열도 객체입니다. 문자열은 배열과 비슷한 점이 많습니다. length 프로퍼티는 문자열의 길이를 반환합니다. 또한, myString[5] 또는 myString.charAt(5)와 같이 특정 index의 문자를 접근할 수도 있습니다. 그리고 배열에서 쓰는 indexOf, lastIndexOf를 통해 특정 문자의 index를 찾을 수도 있습니다.
- myString.toUpperCase(), myString.toLowerCase()로 대문자, 소문자로 통일시킬 수 있고, myString.trim()을 통해 양 끝 공백을 제거할 수도 있습니다.
- slice(start,end)는 부분문자열을 가져오는 메소드입니다. 이때, end는 포함하지 않고 가져옵니다. 그리고, 두번째 파라미터를 생략하면 start지점부터 끝까지 가져오고, 모든 파라미터를 생략하면, 문자열 전체를 가져옵니다.
- 배열에서 사용하는 for...of문을 문자열에 활용할 수도 있습니다.
ex) for(let str of myString){ }
- 배열은 mutable하지만, 문자열은 immutable합니다. 따라서 문자열이 가진 메소드들은 모두 값을 return하고, 본래의 문자열 값은 수정하지 않습니다.
- 지금까지 배운 자료형을 정리하면 기본형(Primitive Type)인 Number, String, Boolean, Null, Undefined와 참조형(Reference Type)인 object(ex. 배열)가 있습니다. ★기본형은 상자에 변수를 담고, 참조형은 상자에 가리키는 값의 주소를 담습니다. string 객체아닌가???(string일때도 있고, object일때도 있다)-> stackoverflow.com/questions/7675127/is-string-a-primitive-type-or-object-in-javascript
- 배열(참조형 값)을 그대로 복사하려면, slice메소드를 활용하면 됩니다. slice메소드에 아무런 파라미터도 전달하지 않으면, 새로운 같은 배열이 반환됩니다. ex) let number2 = number1.slice( )
- 일반 객체를 그대로 복사하려면, let course2 = Object.assgin({},course1); 와 같이 assign메소드를 이용하면 됩니다. 또는 for...in문을 통해 복사해줄 수도 있습니다. 이때, 객체안에 배열이 있는 경우, 배열의 주소값이 복사되므로 주의해야 합니다. ex) for(let key in object){ temp[key] = object[key]; }
- const로 상수가 아닌 변수를 선언해야 될 때가 있습니다. 코드가 동작할 때 고정되어야 될 값은 const로 선언해야 합니다. 변수는 영어소문자와 카멜표기법을, 상수는 영어대문자와 언더바로 만듭니다.
- 객체는 변수에 주소값이 저장되므로, const로 선언해도 접근해서 변경이 가능합니다.
- 변수 var는 이제 사용하지 않습니다. 중복 선언이 가능하며, 함수 스코프가 없고, 변수의 선언이 호이스팅으로 끌어올려 지기 때문입니다.
'웹개발 > JavaScript' 카테고리의 다른 글
| [CodeIt] JavaScript 중급 토픽1(브라우저와 자바스크립트) (0) | 2021.02.09 |
|---|---|
| [CodeIt] JavaScript 중급 토픽1(인터랙티브 자바스크립트 시작하기) (0) | 2021.02.08 |
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽3(배열) (0) | 2021.02.07 |
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽3(객체) (0) | 2021.02.07 |
| [CodeIt] 프로그래밍 시작하기 in JavaScript 토픽2(제어문) (0) | 2021.02.07 |