- ex) 0, 1, 500, 10000...
- 연산이 가능하다.
let myNumber1 = 0;
let myNumber2 = 1;
let myNumber3 = 500;
let myNumber4 = 10000;
// 연산
console.log(myNumber2 + myNumber3); // 501
console.log(myNumber3 - myNumber2); // 499
console.log(myNumber3 * myNumber4); // 5000000
console.log(myNumber3 / myNumber4); // 0.05 (몫)
console.log(myNumber4 % myNumber3); // 0 (나머지)
- ex) ‘watermelon’, ‘coffee’, ‘hello’, ‘world’...
- +연산기호를 사용해서 문자끼리 이어붙일 수 있다.
- str.length 를 통해 문자열의 개수(공백포함)를 셀 수 있다.
// String + String
let greeting = 'Hello World';
let myName = 'shorry';
console.log(myName); // shorry
console.log(
'Hello Wrold' + ' ' + 'shorry'
); // Hello Wrold shorry
console.log(
greeting + ' ' + myName
); // Hello Wrold shorry
// String + Number
let myNumber1 = 100;
let myNumber2 = 200;
console.log('100 plus 200 equals to', myNumber1 + myNumber2);
// 100 plus 200 equals to 300(number)
console.log('number1: ', myNumber1); // number1: 100
// String? or Number?
// number + number
console.log(2 + 2); // 4(number)
console.log(22); // 22(number)
// string + string
console.log('2' + '2'); // 22(string)
// number + string
console.log(2 + '2'); // 22(string)
// String Length
const myString = 'Hello! World!';
console.log(myString.length); // 13
console.log('shorry'.length); // 6
- 참 ( true ) / 거짓 ( false )
- String ( 문자열 ) 으로 true 와 false 를 쓰는 것 과는 완전히 다르다.
console.log(true); // true
console.log(false); // false
let myAnswer = true;
console.log(myAnswer); // true
- undefined
변수가 선언은 되었으나 값이 할당되어 있지 않은 상태.- null
빈 값(blank)을 의미한다.
사용자가 준 value이므로, 자동적으로 null이란 값을 줄 수 없다.- null == undefined ? / null === undefined ?
포괄적인 의미로 ‘값이 없다’는 점에서 null과 undefined가 비슷한 것 같지만,
둘은 엄격하게는 같지 않다.
let name; // undefined
let name = null; // null
console.log(null == undefined); // true
console.log(null === undefined); // false
// 엄격일치연산(===)은 value 뿐만 아니라 type도 같아야 true 값을 반환 한다.
console.log(typeof null); // object
console.log(typeof undefined); // undefined
// null은 '값이 없음(blank)'을 의미하는 할당된 value이다.
- 대괄호 사이에 각기 다른 여러 데이터가 들어가 한 곳에 모여있는 것.
- 데이터를 쭉 나열만 하면 된다.
- ex) [19, 44, ‘good’, false]
let studentsName = [
'shorry',
'Mr.Kim'
]
console.log(studentsName); // ['shorry', 'Mr.Kim']
- 중괄호 사이에 여러가지 데이터가 모여있는 묶음.
- 데이터를 저장할 때 key와 value 가 필요하다.
- ex) {name: ‘shorry’, isDeveloper: true}
let myObject = {
name: 'shorry',
isDeveloper: true
}
// key: value
console.log(myObject); // {name: ‘shorry’, isDeveloper: true}
- 어떤 작업을 수행하기 위해 필요한 문(statement)들의 집합을 정의한 코드 블록이다. 함수는 이름과 매개변수를 갖으며 필요한 때에 호출하여 코드 블록에 담긴 문들을 일괄적으로 실행할 수 있다.
function myFunction () {
let name = 'shorry',
console.log(name)
return name
};
- 객체의 속성 중 함수 자료형(function)인 속성
- 자바스크립트 함수에서 그 자체는 객체이므로, 그런 맥락에서 메소드는 실제로 함수에 대한 객체 참조인 것이다.
const str = 'string'; // 문자열 생성
const length = str.length; // 객체가 아닌데도 proptery를 사용?
console.log(length) // 6
- 래퍼 객체란 이름처럼 원시 타입의 값을 감싸는 형태의 객체이다. number, string, boolean, symbol 데이터 타입에 각각 대응하는 Number, String, Boolean, Symbol이 제공된다.
- 자바스크립트의 문자열은 원시 타입으로 존재한다. 우리가 문자열의 프로퍼티에 접근하려고 할 때 자바스크립트는 문자열 값을 객체로 변환한다.
- 이 객체를 래퍼 객체라고 한다. 래퍼 객체는 프로퍼티를 참조할 때 생성되며 프로퍼티 참조가 끝나면 사라진다.
- parseFloat( )
- 문자열에 포함된 숫자 부분을 실수 형태로 반환한다.
Number.parseFloat("3.14") // 3.14
Number.parseFloat("123abc") // 123
Number.parseFloat("abc 123") // NaN (Not a Number)
- parseInt( )
- parseFloat( ) 과 동일하지만, 문자열에 포함된 숫자 부분을 정수 형태로 반환한다.
Number.parseInt("3.14") // 3
Number.parseInt("123abc") // 123
Number.parseInt("abc 123") // NaN
- isInteger( )
- 전달된 값이 정수인지 아닌지를 검사한다.
Number.isInteger(3) // true
Number.isInteger(0.1) // false (정수가 아님)
Number.isInteger("abc") // false
- indexOf( )
- 특정 문자열이 처음 등장하는 위치의 인덱스 번호를 반환한다.
- 문자열을 찾기 시작할 위치를 두번째 인자로 전달받을 수 있다.
let str = "string";
str.indexOf("s") // 0
- toUpperCase( )
- 소문자를 대문자로 바꾼다.
- toLowerCase( ) 는 대문자를 소문자로 바꿈.
let str = "string";
str.toUpeerCase(); // "STRING"
- concat( )
- 기존 문자열에 전달 받은 값의 문자열을 결합한 새로운 문자열을 반환한다.
let str = "stri";
str.concat("ng"); // "string"
Reference
Word of the day
String이라는 글자에서 s는 몇번째야??
0번째!!!!
End.