编程基础概念(1):转义字符

转义字符,编程萌新应该都被这个概念困扰过。理解这个概念,需要抓住几个要点:

1.转义字符的目的。
(1)为了解决编程语言中的字符含义冲突。
(2)为了表示一些本来不能用字符表示的含义。

  1. 冲突的表现
    编程语言元字符与字符串数据的冲突。

每种编程语言都有自己的元字符,包括关键字、运算符等等。以javascript为例,逗号、分号、“var”这些都是语言的元字符。
每种语言都会规定自己的数据类型的字面表示方法。比如,js中:

//这些字面值代表Number类型
123
1.1
//数组
var a = [1,2,3];
//对象
var b ={ name:'eleorc';age'18'};

关键点,编程语言中都少不了一种叫做字符串的数据类型。

var c = 'hello';
var d = "world";

可以看到,js中,字符串这种数据类型的表达,需要使用成对的单引号或者双引号字符。也就是,当在js代码中,出现成对的单引号或者双引号,js解释器会把中间的字面值作为字符串数据处理。
那么问题来了,如果字符串数据中,需要表达单引号或者双引号这个字符,改怎么办呢?

这个问题可以概括为:在字符串数据中需要表达限定字符串边界的元字符,改怎么办?

我们不能简单使用这个字符的字面值,因为这个字符已经被编程语言赋予了含义(限定字符串边界)。如果简单的在两个单引号中,在写一个单引号,那么js解释器该如何匹配字符边界呢?

//存在逻辑混乱的写法,也许人类可以看懂,但解释器不能。
var s = 'I'm OK;'

因此,需要用另外的字面值来代表字符串限定符号。
反斜线,在字符串中,被赋予了特殊的含义。

请注意转义字符这个概念,是有前提条件的。

“在字符串类型的数据的字面值中”才有必要使用转义字符。

剩下的就是具体写法了。

var s = 'I\'m ok!';

你可能感兴趣的:(编程基础概念(1):转义字符)