스코프와 정규식

스코프는 프로그래밍 언어에서 변수가 유효한 범위를 말합니다. 이는 변수에 접근할 수 있는 영역을 의미하며, 변수의 유효 범위에 따라 해당 변수를 사용할 수 있는지 여부가 결정됩니다.

다음은 JavaScript에서의 스코프의 예입니다.

function example() {
  var x = 10;
  console.log(x); // 10
}

console.log(x); // 에러 - x는 example() 함수 내부에서 정의되었기 때문에 외부에서 접근할 수 없음

위의 코드에서 변수 x의 스코프는 example() 함수의 중괄호 안으로 제한되어 있습니다. 따라서 example() 함수 외부에서는 x에 접근할 수 없고, console.log(x)를 호출하면 에러가 발생합니다.

스코프는 변수의 유효 범위를 제어하여 변수의 값이 의도치 않게 변경되는 것을 방지합니다. 또한, 코드의 가독성과 유지 보수를 쉽게하기 위해 사용됩니다.

정규식 (Regular Expressions)

정규식은 문자열에서 특정 패턴을 찾거나 생성하기 위한 문자열 검색 기법입니다. 정규식은 특수 문자와 문자열 패턴으로 구성되며, 문자열에서 패턴과 일치하는 부분을 찾거나 변경할 수 있습니다.

다음은 JavaScript에서의 정규식의 예입니다.

var str = "Hello, World!";

console.log(/hello/.test(str)); // false - 대소문자를 구분하기 때문에 "Hello"와는 일치하지 않음
console.log(/hello/i.test(str)); // true - 대소문자를 구분하지 않고 일치하는 패턴 검색

console.log(str.replace(/hello/i, "Hi")); // Hi, World! - "Hello"를 "Hi"로 변경
console.log(str.replace(/o/g, "a")); // Hella, Warld! - 모든 "o"를 "a"로 변경

위의 코드에서 /hello/은 대소문자를 구분하여 “hello” 패턴을 검색하고, /hello/i는 대소문자를 구분하지 않고 “hello” 패턴을 검색합니다. test() 메소드는 주어진 패턴이 문자열에 존재하는지 여부를 판별하고, replace() 메소드는 패턴과 일치하는 부분을 다른 문자열로 변경합니다.

정규식은 문자열 검색, 형식 유효성 검사, 데이터 추출 등 다양한 용도로 사용됩니다. 학습 곡선이 가파르지만, 정규식을 이해하고 활용하는 것은 프로그래밍에서 매우 유용한 기술입니다.

#hashtags #스코프 #정규식