
이스케이프 문자
// 이스케이프 없이 사용할 경우 (오류 발생)
const errorString = 'He said, "I'm going home."';
// 이스케이프를 사용한 올바른 방법
const correctString = 'He said, "I\'m going home."';
const alternativeString = "He said, \"I'm going home.\"";
위 예제에서 볼 수 있듯이, 이스케이프 문자()를 사용하면 문자열 내에서 따옴표를 문자 그대로 표현 가능. 이는 문자열의 시작과 끝을 나타내는 따옴표와 문자열 내용의 일부인 따옴표를 구분하는 데 도움이 됨
템플릿 문자열 (Template Literals)
ES6에서 도입된 문자열 표기법. 백틱(`)을 사용하여 문자열을 감쌈. 다음과 같은 특징이 있음:
// 여러 줄 문자열
const multiLine = `
This is a
multi-line
string.
`;
// 표현식 삽입
const name = "John";
console.log(`Hello, ${name}!`);
// 특수 문자 사용
const quote = `He said, "I'm going home."`;
템플릿 문자열을 사용하면 문자열 연결이나 이스케이프 문자 사용을 줄일 수 있어, 코드의 가독성과 유지보수성 향상
문자열 연산자
JavaScript의 주요 문자열 연산자:
let str1 = "Hello";
let str2 = "World";
let result = str1 + " " + str2; // "Hello World"
str1 += " JavaScript"; // str1은 이제 "Hello JavaScript"
참과 거짓을 표현하는 데이터
const bool1 = 10 > 0; //true
const bool2 = 10< 0; //false
console.log(bool1, bool2)
정의되지 않음
의도적으로 값을 비워둘 때 사용
ES6에서 도입된 새로운 원시 데이터 타입. 각 Symbol 값은 고유하며, 객체 속성의 식별자로 사용 가능
실무에서 잘 사용되지 않음
const sym1 = Symbol();
const sym2 = Symbol('foo');
const sym3 = Symbol('foo');
console.log(sym2 === sym3); // false
순서가 있는 데이터 집합배열 접근법const fruits = ['apple', 'banana', 'orange', 'grape'];
console.log(fruits[0]); // 'apple'
console.log(fruits[2]); // 'orange'
// 배열의 마지막 요소에 접근
console.log(fruits[fruits.length - 1]); // 'grape'
// 존재하지 않는 인덱스에 접근하면 undefined를 반환
console.log(fruits[10]); // undefined
이 방법을 사용하여 배열의 특정 위치에 있는 요소에 직접 접근하거나 수정 가능. 또한, 배열의 길이(length)를 이용하여 마지막 요소에 쉽게 접근 가능
객체 접근법점 표기법 (Dot notation): 객체명.속성명대괄호 표기법 (Bracket notation): 객체명['속성명']const person = {
name: 'John',
age: 30,
'job-title': 'Developer'
};
// 점 표기법
console.log(person.name); // 'John'
// 대괄호 표기법
console.log(person['age']); // 30
console.log(person['job-title']); // 'Developer'
const obj = {
42: "The answer",
true: "A boolean key"
};
console.log(obj[42]); // "The answer"
console.log(obj["42"]); // "The answer"
console.log(obj.true); // "A boolean key"
console.log(obj["true"]); // "A boolean key"
이 예제에서 숫자와 불리언이 키로 사용되었지만, 실제로는 문자열로 저장됨. obj[42]와 obj["42"]는 동일한 결과를 반환하는데, 이는 JavaScript가 객체 키를 내부적으로 항상 문자열로 처리하기 때문임.
재사용 가능한 코드 블록으로, 특정 작업을 수행하거나 값을 반환함