10.typescript-字符串字面量类型

1.字符串字面量类型

字符串字面量类型是用来约束取值只能是某几个字符串中的一个。

1 // html
2 <div id="div">my name is Mr.</div>
1 type name = "wei" | "ze" | "yang";
2
3 function student(ele:Element, event:name){
4   return () => {
5     return ele.innerHTML += event;
6   };
7 }
8
9 student(document.getElementById("div"),"wei")();

页面:

不能选择字符串字面量类型里面不存在的字符串

 1 type name = "wei" | "ze" | "yang";
 2
 3 function student(ele:Element, event:name){
 4   return () => {
 5     return ele.innerHTML += event;
 6   };
 7 }
 8
 9 student(document.getElementById("div"),"why")();
10 //  Argument of type ‘"why"‘ is not assignable to parameter of type ‘name‘.

就和联合类型差不多....

2.上面的这个例子都包含了之前讲过的什么知识点?

时间: 2025-01-13 17:05:07

10.typescript-字符串字面量类型的相关文章

ISO/IEC 9899:2011 条款6.4.5——字符串字面量

6.4.5 字符串字面量 语法 1.string-literal: encoding-prefixopt    "  s-char-sequenceopt  " encoding-prefix: u8 u U L s-char-sequence: s-char: s-char-sequence    s-char s-char: 源字符集中的任一成员,除了双引号 " ,倒斜杠 \ ,或换行字符 escape-sequence 约束 2.毗邻的字符串字面量标记的一个序列不应该同

原始字符串字面量

原始字符串字面量(raw string literal)是可以横跨多行代码的字符串字面量,不需要转义嵌入的双引号,像\t和\n这种转义序列不按照转义序列的方式处理,而是按照普通文本的方式处理.如果像下面这样编写普通的字符串字面量,那么会收到一个编译器错误,因为字符串包含了未转义的引号: string str = "Hello "World"!"; // Error! 对于普通的字符串,必须转义双引号,如下所示: string str = "Hello \&

04_Swift2基础之类型安全和类型推测+字面量+类型别名

1. 类型安全和类型推测 1> 类型安全 Swift 是一个 _类型安全(type safe)_ 的语言.类型安全的语言可以让你清楚地知道代码要处理的值的类型.如果你的代码需要一个`String`,你绝对不可能不小心传进去一个`Int`. 由于 Swift 是类型安全的,所以它会在编译你的代码时进行 _类型检查(type checks)_ ,并把不匹配的类型标记为错误.这可以让你在开发的时候尽早发现并修复错误. 当你要处理不同类型的值时,类型检查可以帮你避免错误.然而,这并不是说你每次声明常量和

字符串字面量和逐字字符串面量

1.无后缀的实数字面量是double类型,不是float类型! 2.与c/c++不同,在c#中数字不具有布尔意义. 3.int x=5;if(x)...//x是int类型不是布尔类型. 4.委托是引用类型因此两个委托也可以进行比较,如果两个委托都是null, 或者两者的调用列表中有相同数目的成员,并且调用列表相匹配,那么比较 返回true;

JavaScript语言精粹1字符串,对象字面量

字符串 Strings JavaScript没有,字符,类型.仅包含一个字符的,字符串即可. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>testString1</title> <style type="text/css"></style> </hea

C++11中的小细节--字符串的原始字面量

原始字面量很容易理解,即不进行转义的完整字符串. 最近看了看Python,其中讲到了原始字符串. Both string and bytes literals may optionally be prefixed with a letter ‘r’ or ‘R’; such strings are called raw strings and treat backslashes as literal characters. As a result, in string literals, ‘\U

ES6新语法之---对象字面量扩展、模板字符串(5)

这节课学习ES6中对象字面量扩展和新增模板字符串 第一部分:对象字面量扩展 1.简洁写法 ES6对于对象字面量属性提供了简写方式. 1.1:属性简写 //传统写法 var x = 2, y = 3, o = { x: x, y: y }; //ES6简洁写法 var x = 2, y = 3, o = { x, //属性名和赋值变量名相同时,可简写 y }; 1.2:方法简写 //传统写法 var o = { x: function() { //... }, y: function() { //

Objective-c 字面量

#import <Foundation/Foundation.h> int main (int argc, const char * argv[]){ /** 以下为基本类型字面量举例 */ int a = 10; // 10为一个整型字面量 float f = 0.5f; // 0.5f为一个单精度浮点数字面量 double d = 3.14; // 3.14为一个双精度浮点数字面量 long l = 100000L; // 100000L为一个长整型字面量 char c = 'c'; //

编程语言中的字面量在Objective-C中的举例

关于计算机编程语言中的字面量的介绍可参考:http://baike.baidu.com/view/1208327.htm?fr=aladdin. 下面就介绍Objective-C中的各种常用字面量: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { /** 以下为基本类型字面量举例 */ int a = 10; // 10为一个整型字面量 float f = 0.5f; // 0.5f为一个